Массивы в C начинаются с 0
и заканчиваются (array_size - 1)
.
Поскольку вы обращаетесь к памяти только за пределами массива, вы, скорее всего, испытываете ошибки сегментации.
Чтобы устранить эту проблему, измените следующие строки:
for (k=0;k<182;k++)
{
for(l=0;l<274;l++)
{
printf("%d ", mat[k][l]);
}
}
Обратите внимание, что я изменил реляционные операторы с <=
и >=
на <
и >
соответственно.
Наряду с этим вам может потребоваться полная инициализация массива.Нечетные значения могут быть напечатаны, если массив не инициализирован.(@Weather Vane).
Однако, чтобы быть уверенным в этом, нам нужны file.txt
и file1.txt
.