Найти сумму и количество положительных чисел массива - на экран ничего не выводится - C (СИ)
Формулировка задачи:
Дан массив целых чисел размером N*M. Найти сумму и количество положительных чисел массива.
#include <stdio.h> #include <conio.h> #include <stdlib.h> int fun (int * ); int main (void) { int a[5][6]; int i,j; for (i=0;i<3;i++) for (j=0;j<4;j++) { printf ("%d stroka %d stolbik " , i+1,j+1); scanf ("%d" , &a[i][j]); } system("pause"); return 0; } int fun(int *p) { int n,i,j,e,s; for (i=0;i<3;i++) for (j=0;j<4;j++) { if(p[i]>0) e=p[i]; } s=+e; n++; printf ("summa =%d",s ); printf ("kol-wo =%d" , n); system("pause"); return 0 ; }
Решение задачи: «Найти сумму и количество положительных чисел массива - на экран ничего не выводится»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> void fun (int*, const int, const int); int main (void) { int a[5][6]; int i, j; for (i = 0; i < 4; i++) for (j=0; j<5; j++) { printf ("%d stroka %d stolbik - ", i+1, j+1); scanf ("%d", &a[i][j]); } fun((int*)a, 5, 6); system("pause"); return 0; } void fun(int *p, const int sRow, const int sCol) { int i, j, sum = 0, count = 0; for (i = 0; i < sRow; i++) for (j = 0; j < sCol; j++) if(p[i*sCol + j] > 0) { sum += p[i*sCol + j]; count++; } printf ("summa =%d\n", sum); printf ("kol-wo =%d\n", count); system("pause"); }
Объяснение кода листинга программы
- Включаются заголовочные файлы stdio.h и stdlib.h
- Определяется функция fun с типом данных void и параметрами int*, const int, const int
- В функции main создается массив a типа int размером 5х6
- Задаются значения элементам массива с помощью scanf
- Вызывается функция fun с аргументами (int*)a, 5, 6
- В функции fun инициализируются переменные i, j, sum, count нулевыми значениями
- Происходит двойной цикл for для прохода по всем элементам массива p, при этом проверяется условие p[i*sCol + j] > 0
- Если условие выполняется, то к сумме sum прибавляется значение элемента массива p, а к счетчику count прибавляется единица
- По завершению циклов выводятся значения sum и count на экран
- В функции main после вызова функции fun выполняется команда system(
pause
) - Функция main возвращает 0, что означает успешное завершение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д