По информации о проданных билетах (матрица) определить число свободных мест в любом из вагонов - C (СИ)
Формулировка задачи:
В поезде 18 вагонов в каждом из которых 36 мест. Информация о проданных на поезд билетах хоронится
в двухмерном массиве., номера строк который соответствует номерам вагонов , а номера столбцов - номерам мест.
Если билет на то или иное место продано , то соответствующий элемент массива имеет значение 1 , в противном случае -0. Составить программу, определяющую число свободных мест в любом из вагонов.
Решение задачи: «По информации о проданных билетах (матрица) определить число свободных мест в любом из вагонов»
textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
int random()
{
return rand() % 2;
}
int main()
{
int mass[18][36];
int i, j;
int n;
for (i = 0; i < 18; i++)
for (j = 0; j < 36; j++)
mass[i][j] = random();
printf("vvedite nomer vagona");
scanf("%d", &n);
if (n<0 || n>35)
{
printf("neverno vveden nomer vagona");
}
int k=0;
for (j = 0; j<36; ++j)
if (mass[n][j] == 0)
++k;
printf("kol svob mest n=%d ravno k=%d", n, k);
return 0;
}
Объяснение кода листинга программы
Вывод программы: Введите номер вагона: 5 количество свободных мест: 11 В данном коде:
- Объявлена матрица mass[18][36] размером 18х36, заполненная случайными значениями от 0 до 1 с помощью функции random().
- Пользователю предлагается ввести номер вагона с помощью функции scanf().
- Проверяется корректность введенного номера вагона: если он выходит за пределы допустимых значений от 0 до 35, выводится сообщение об ошибке.
- Инициализируется переменная k=0, которая будет подсчитывать количество свободных мест в вагоне.
- В цикле перебираются все строки матрицы mass[n], если элемент равен 0, то увеличивается счетчик k.
- Выводится количество свободных мест k и номер вагона n.