Получить среднее арифметическое положительных элементов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В двумерном массиве целочисленном получить среднее арифметическое положительных элементов. Как переделать код под эту задачу
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include"logotip.c"
#include"time.h"
main(int argc,char* argv[])
{
logo();
puts("Краткое изложение задачи:");
puts("Транспонировать матрицу IxJ");
puts("Выполнял Рожкин Павел Александрович,ИВТ-12");
puts("Нажмите Enter");getchar();
char buffer[20];
int mass[100][100];//massiv
int i,j;//stroka,stolbez massiva
int a=0,b=0;//Razmer massiva b scanf
if(argc<2)
{Mark4: printf("Для вывода спраки %s Справка",argv[0]);getchar();exit(0);}
//SpraBka
if(argc>4) goto Mark4;
if(strcmp(argv[1],"Справка")==0)
{printf("Создание матрицы происходит через команндую стороку для этого пишите %s Ручной <i><j> или %s Рандом <i><j>(без <>,размер по столбацам и строкам не должен привышать 100)\n",argv[0]);
printf("Вы можете вводить матрицу 2 способами,используйте: %s Ручной ,%s Рандом\n",argv[0],argv[0]);
printf("Нажмите Enter!");getchar();exit(0);}
a=atoi(argv[1]);
b=atoi(argv[1]);
if(i>100) or (j>100){printf("Слишком большой размер матрицы(i и j должны быть меньше 100)\n");goto Mark4;exit(0);}
if(i<2) or (j<2){printf("Слишком Маленький размем матрицы(i и j должны быть больше 2)\n");goto Mark4;exit(0);}
printf("Вы задали матрицу с размером строк = %d ,с размером столбцов = %d\n",i,j);
printf("\n");
printf("\n");
printf("\n");
printf("\n");
 
if(strcmp(argv[1],"Ручной")==0)
{for(i=0;i<a;i++)//Hachalo BBoda massiva
{
for(j=0;j<b;j++)
{
printf("Введите значение элемента матрицы[%d][%d]\n",i,j);
fgets(buffer,20,stdin);
mass[i][j]=atoi(buffer);
}}
}//Okonchanie Bboda massiva
if(strcmp(argv[1],"Рандом")==0)
{
for(i=0;i<a;i++)
{srandom(time(NULL));
for(j=0;j<b;j++) mass[i][j]=rand()%100;
}}
printf("\n");
printf("\n");
printf("Вы задали матрицу \n");
for(i=0;i<a;i++)//Hachalo Bbiboda massiva
{for(j=0;j<b;j++)
{
printf("mass[%d][%d]=%d\t",i,j,mass[i][j]);
 
printf("\n");
}}//Okonchanie Bbiboda massiva
printf("\n");
printf("\n");
//Ha4alo Bbipolnenie osnovnoi zeli programmbi
printf("Транспонируем матрицу\n");
{
for(i=0;i<a;i++)
{for(j=0;j<b;j++)
printf("mass[%d][%d]=%d\t)",i,j,mass[j][i]);
printf("\n");
}
printf("\n");
}
 
}

Решение задачи: «Получить среднее арифметическое положительных элементов»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define SIZE1   100 //размеры массива
#define SIZE2   100 //размеры массива
int main(void) //ну сколько можно уже - int main.
{
    int mx[100][100];
    int i,j;
    int sum=0,cnt=0;
    srand(time(NULL));
    for (i=0;i<SIZE1;i++)
    {
        for(j=0;j<SIZE2;j++)
        {
            mx[i][j]=-50+rand()%100; //заполняем случайными числами
            printf("%3d ",mx[i][j]);
        }
        puts("");
    }
 
    for (i=0;i<SIZE1;i++) //по строкам
    {
        for(j=0;j<SIZE2;j++) //по столбцам
        {
           if (mx[i][j] > 0)
           {
               sum+=mx[i][j]; //суммируем положительные элементы
               cnt++; //считаем кол-во  положительных элементов
           }
        }
        puts("");
    }
    printf("%s%d%s%d%s%d\n","Average:",(sum/cnt)," Pol.Elem: ",cnt, " Sum: ", sum);  //sum/cnt - ср. арифметическое
    system("PAUSE");
    return 0; //ну сколько можно уже
}

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

  1. Включаем необходимые заголовочные файлы для работы с I/O и генерации случайных чисел
  2. Определяем размеры массива
  3. Инициализируем переменные для подсчета суммы и количества положительных элементов, а также запускаем генератор случайных чисел
  4. Заполняем массив случайными числами от -50 до 50
  5. Выводим все элементы массива построчно
  6. Подсчитываем количество положительных элементов и суммируем их значения
  7. Выводим среднее арифметическое положительных элементов, количество положительных элементов и сумму на экран
  8. Ждем нажатия клавиши для завершения работы программы
  9. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

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