Точно ли в функции нужно возвращать s? - C (СИ)
Формулировка задачи:
Вот прога, которая ищет в 2-х мерном массиве, т.е. матрице число строк, не содержащих 0. Точно ли в функции нужно возвращать s?
#include <iostream>
const int n = 3;
const int m = 3;
int Matr(int arr [n][m]);
int main()
{
int s=0;
printf("vvedite elementi massiva");
printf("\n");
int arr[n][m]={ 1,2,5,
7,4,1,
3,2,9};
/*for (int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d",&arr[i][j]);
}
}*/
printf("\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("%d",arr[i][j]);
printf(" ");
}
printf("\n");
}
Matr(arr);
printf("\n");
printf("S=%d",m-s);
printf("\n");
return 0;
}
int Matr(int arr [n][m])
{
int s = 0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if (arr[j][i] == 0)
{
s++;
break;
}
}
}
return s;
}Решение задачи: «Точно ли в функции нужно возвращать s?»
textual
Листинг программы
#include <iostream> /*ВОТ ЗДЕСЬ*/ int s=0;//все три поля у вас глобальные переменные const int n = 3; const int m = 3; int Matr(int arr [n][m]);
Объяснение кода листинга программы
- Включаем библиотеку iostream для работы с потоками ввода-вывода
- Определяем три глобальные переменные: s, n, m
- Функция Matr() принимает на вход массив arr размером n на m
- Внутри функции нет кода, который бы что-то делал с переменной s
- Возвращаем из функции ничего не возвращая (пустая функция)
- Заголовок функции не содержит никакого кода, который бы что-то делал с переменной s
- В теле функции нет кода, который бы что-то делал с переменной s
- Используем оператор '<<' для вывода значений переменных в поток
- Выводим значения переменных s, n, m
- Завершаем программу