- Двумерен масив: масив, който има 2 индекса – за ред и за колони
- Деклариране
float grades[19][15]; //двумерен масив, който съхранява всички оценки(15 предмета) за един клас от 19 ученика string msgs[10][100]; //двумерем масив, който съхранява съобщенията (максимум 100 съобщения) на 10 човека int numbs[5][10]; //двумерем масив с 50 числа - 5 реда с по 10 колони
3. Обхождане на масив
//Начин 1 - чрез изброявне на всички елементи string cars[3][4]; cars[0][0] = "Opel Kadet"; cars[0][1] = "Opel Zafira"; cars[0][2] = "Opel Astra"; cars[0][3] = "Opel Corsa"; cars[1][0] = "BMW Alpina"; cars[1][1] = "BMW M5"; cars[1][2] = "BMW 520"; cars[1][3] = "BMW X6"; cars[2][0] = "BMW Alpina"; cars[2][1] = "BMW M5"; cars[2][2] = "BMW 520"; cars[2][3] = "BMW X6"; //Начин 2 - чрез два вложени цикъла for(int i = 0; i <= 2; i++) { for(int j = 0; j <= 3; j++) { cout<<cars[i][j]<<" | "; } cout<<endl; }
Примерна задача: Да се напише програма, която генерира двумерен масив с 5 реда и 3 колони, който съдържа числа, които се делят на 3. Като на всеки ред увеличаваме числата с по 30.
int nums[5][3]; int a = 3; for(int i = 0; i <= 4; i++) { for(int j = 0; j <= 2; j++) { nums[i][j] = a; a = a + 3; cout<<nums[i][j]<<" "; } a = a + 30; cout<<endl; }
Да се намери сумата от всички числа на този двумерен масив
int nums[5][3]; int a = 3; int sum = 0; for(int i = 0; i <= 4; i++) { for(int j = 0; j <= 2; j++) { nums[i][j] = a; a = a + 3; cout<<nums[i][j]<<" "; sum = sum + nums[i][j]; } a = a + 30; cout<<endl; } cout<<"total sum = "<<sum<<endl;
Да се напише програма, която генерира масив с 3 реда и 6 колони и елементи числа кратни на 5, започвайки от 5.
Да са намери сума от всички числа в масива. И да се намери сума от елементите на всеки ред от масива.
int nums[3][6]; int num = 5; int sum = 0; int sumRows; for(int i = 0; i <= 2; i++){ sumRows = 0; for(int j = 0; j <= 5; j++){ nums[i][j] = num; num = num + 5; cout<<nums[i][j]<<" "; sum = sum + nums[i][j]; sumRows += nums[i][j]; } cout<<" row sum is:"<<sumRows<<endl; } cout<<"total sum = "<<sum;</pre> <pre>
Задачи за упражнение:
- Да се направи двумерен масив, който съхранява информация за 4 марки коли, като за всяка марка се пазят по 3 модела. Нека първия елемент от масива да е с марката кола, а останалите 3 елемента да са с моделите. Да се отпечатат всички елементи на двумерния масив.
- Да се присвоят и отпечатат стойности на двумерен масив MxN – последователни числа в намаляващ ред.
1 | 2 | 3 | 4 |
9 | 10 | 11 | 12 |
25 | 26 | 27 | 28 |
3. Да се присвоят и отпечатат стойности на двумерен масив MxN – последователни числа на всеки ред и между редовете умножаваме по 2.
4. Да се генерира двумерен масив със следните елементи:
а)
2 | 4 | 6 | 8 | 10 |
12 | 14 | 16 | 18 | 20 |
22 | 24 | 26 | 28 | 30 |
б)
36 | 33 | 30 | 27 |
24 | 21 | 18 | 15 |
12 | 9 | 6 | 3 |
в)
|
г) Да се присвоят и отпечатат стойности на двумерен масив MxN – последователни букви
a | b | c | d |
e | f | g | h |
i | j | k | l |