Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Как переделать код под задачу?


Автор: username12 17.12.2015, 19:39
В двумерном массиве целочисленном получить среднее арифметическое положительных элементов.

Как переделать код под эту задачу

Код

#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");
}
 
}


Автор: Alexeis 17.12.2015, 19:45
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: magnet 18.12.2015, 07:54
Цитата
Как переделать код под эту задачу

Да никак =)
Новый написать - это же первый класс, вторая четверть:
Код

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>

int main(void) {
  short int dim[100][100],i,j,num = 0;
  unsigned long int res = 0;

  srand(time(0)); // Встряхнем мусорную корзину
  for(i=0;i<100;i++) {
    for(j=0;j<100;j++) {
      dim[i][j] = rand() % SHRT_MAX*2 + SHRT_MIN; // Заполним массив мусором
      if(dim[i][j]>0) { res = res + dim[i][j]; num++; }
    }
  }
  if(num) res = res / num;
  printf("%lu\n",res);
  return 0;
}



Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-peredelat-kod-pod-zadachu-id5672e5daae20155f288b456b#findElement_E7045_5673917dae2015b95f774488_0

Автор: magnet 18.12.2015, 07:56
Среднее положительное среди псевдослучайных двухбайтных целых будет стремитося к 16384

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-peredelat-kod-pod-zadachu-id5672e5daae20155f288b456b#findElement_E7045_567391feae20157552775964_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)