Найти сумму и количество положительных чисел массива - на экран ничего не выводится - 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, что означает успешное завершение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д