Найти сумму и количество положительных чисел массива - на экран ничего не выводится - 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");
}

Объяснение кода листинга программы

  1. Включаются заголовочные файлы stdio.h и stdlib.h
  2. Определяется функция fun с типом данных void и параметрами int*, const int, const int
  3. В функции main создается массив a типа int размером 5х6
  4. Задаются значения элементам массива с помощью scanf
  5. Вызывается функция fun с аргументами (int*)a, 5, 6
  6. В функции fun инициализируются переменные i, j, sum, count нулевыми значениями
  7. Происходит двойной цикл for для прохода по всем элементам массива p, при этом проверяется условие p[i*sCol + j] > 0
  8. Если условие выполняется, то к сумме sum прибавляется значение элемента массива p, а к счетчику count прибавляется единица
  9. По завершению циклов выводятся значения sum и count на экран
  10. В функции main после вызова функции fun выполняется команда system(pause)
  11. Функция main возвращает 0, что означает успешное завершение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы