Здравствуйте! Меня зовут Алексей‚ и я хочу поделиться своим личным опытом работы с двумерными массивами в C .Допустим‚ у нас есть пятиэтажный дом с 4 подъездами и на каждом этаже по 2 квартиры. Мы храним информацию о количестве жильцов в каждой квартире в двумерном массиве.Для начала‚ чтобы определить количество жильцов и их соседей на одном этаже для выбранной квартиры‚ мы можем использовать следующий фрагмент кода⁚
cpp
#include
using namespace std;
int main {
int flatNumber;
int residents[4][5] {
{1‚ 2‚ 3‚ 4‚ 5}‚
{6‚ 7‚ 8‚ 9‚ 10}‚
{11‚ 12‚ 13‚ 14‚ 15}‚
{16‚ 17‚ 18‚ 19‚ 20}
};
cout << ″Введите номер квартиры⁚ ″; cin >> flatNumber;
int floor (flatNumber ー 1) / 2 % 5;
int entrance (flatNumber ─ 1) / 10;
cout << ″Количество жильцов в выбранной квартире⁚ ″ << residents[entrance][floor] << endl;
if (flatNumber % 2 0) {
cout << ″Количество жильцов в соседней квартире⁚ ″ << residents[entrance][floor 1] << endl;
} else {
cout << ″Количество жильцов в соседней квартире⁚ ″ << residents[entrance][floor ─ 1] << endl;
}
return 0;
}
В данном коде мы задаем массив residents‚ в котором хранится информация о количестве жильцов в каждой квартире. Затем мы запрашиваем номер квартиры у пользователя. С помощью простых арифметических операций мы вычисляем номер этажа и подъезда для данной квартиры. Используя эти данные‚ мы выводим количество жильцов в выбранной квартире‚ а также в ее соседней квартире на одном этаже.Далее‚ чтобы определить суммарное количество жильцов для каждого подъезда‚ мы можем модифицировать наш код следующим образом⁚
cpp
#include
using namespace std;
int main {
int residents[4][5] {
{1‚ 2‚ 3‚ 4‚ 5}‚
{6‚ 7‚ 8‚ 9‚ 10}‚
{11‚ 12‚ 13‚ 14‚ 15}‚
{16‚ 17‚ 18‚ 19‚ 20}
};
for (int i 0; i < 4; i ) {
int totalResidents 0;
for (int j 0; j < 5; j ) {
totalResidents residents[i][j];
}
cout << ″Суммарное количество жильцов в ″ << i 1 << ″-ом подъезде⁚ ″ << totalResidents << endl;
}
return 0;
}
В этом примере мы используем два цикла for для прохода по каждому подъезду и каждой квартире внутри этого подъезда. Мы вычисляем суммарное количество жильцов для каждого подъезда и выводим результат на экран.Наконец‚ чтобы определить номера квартир‚ где живут многодетные семьи (с количеством членов семьи больше 5)‚ мы можем изменить код следующим образом⁚
cpp
#include
using namespace std;
int main {
int residents[4][5] {
{1‚ 2‚ 3‚ 4‚ 5}‚
{6‚ 7‚ 8‚ 9‚ 10}‚
{11‚ 12‚ 13‚ 14‚ 15}‚
{16‚ 17‚ 18‚ 19‚ 20}
};
cout << ″Квартиры‚ в которых живут многодетные семьи⁚″ << endl;
for (int i 0; i < 4; i ) {
for (int j 0; j < 5; j ) {
if (residents[i][j] > 5) {
cout << (i * 10 2 * j 1) << ″‚ ″ << (i * 10 2 * j 2) << endl;
}
}
}
return 0;
}
В этом примере мы проходим по каждой квартире и проверяем‚ является ли количество жильцов больше 5. Если это так‚ то выводим номера этой квартиры и ее соседней квартиры‚ где живут многодетные семьи.
Надеюсь‚ эта статья помогла вам разобраться с работой двумерных массивов в C . Удачи в программировании!