Урок 9. Массивы в С++

Уроки для начинающих   14 Март 2012  Автор статьи:  

Для начала научимся создавать статический массив. Статический массив — это такой массив, который создается до начала выполнения программы.
Общий вид:
тип_данных имя_переменной[размер_массива];

Реализация выглядит так:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
using namespace std;
int main()
{
    freopen ("input.txt","r",stdin);
    freopen ("output.txt","w",stdout);
    int a[100];
    string b[10];
    char c[55];
    double d[25];
    bool e[3];
    return 0;
}

После создания статического массива становится актуальным вопрос об его инициализации-заполнении его какими-либо данными. Приведем некоторые примеры инициализации массива.
I.Инициализация массива нулями
Изначально в массиве хранятся одному компьютеру (Богу) известные значения. Поэтому прежде чем работать с массивом, его обычно зануляют, т.е. присваивают всем элементам массива значения «0».
1 вариант зануления:

1
2
3
4
5
int a[100];
    for (int i=0; i<100; i++)
    {
        a[i]=0;
    }

2 вариант зануления:

1
int a[100]={0};

II. Инициализация массива заданными значениями (считывание данных в массив)

1
2
3
4
5
int a[100];
    for (int i=0; i<100; i++)
    {
        cin >> a[i]; // считываем элемент массива
    }

III. Работа с массивами.

1
2
3
4
5
6
int a[100];
    for (int i=0; i<100; i++)
    {
        a[i]=2*i+1;
    }
a[25]=7;

IV. Вывод массива на экран

1
2
3
4
5
6
int a[100];
    for (int i=0; i<100; i++)
    {
        a[i]=2*i+1;
            cout << a[i] << endl;
    }

Мы закончили с одномерными массивами,теперь перейдем к двумерным массивам.
Двумерные масссивы можно представиьт себе как шкаф с книгами, где сначала нужно указать номер полки,а потом номер книги на данной полке. Таким образом для обращения к элеменам массива мы должны использовать два индекса, вместо одного. Приведём пример считывания и вывода двумерного массива на экран.

1
2
3
4
5
6
7
8
9
10
11
12
13
int n,m;
cin >> n >> m;
int a[200][200]; //создаем массив размером 200x200
for (int i=0; i<200; i++) //просматриваем полку за полкой
  for (int j=0; j<200; j++) // на нужной полке просматриваем книги
  {
    cin >> a[i][j];
  }
for (int i=0; i<200; i++)
  for (int j=0; j<200; j++)
  {
   cout << a[i][j]; //выводим результаты с просмотренных полок
  }


  • никита

    как же сортировки?

  • Mike Slavyanin

    int n,m;
    cin>>n>>m;
    ни к селу ни к городу

Научиться программировать

  • на Delphi

  • на Java

  • на C++