Форум программистов, компьютерный форум CyberForum.ru

Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.90
Катерифка))
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9
06.01.2010, 20:06     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #1
Не получается написать правильно программу.Дан двумерный массив А размером m*n. Найти среднее арифметическое S его элементов и заменить этим числом элементы 2-й строки.Оформить в виде функций. Что делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2010, 20:06     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки
Посмотрите здесь:

C++ Дан двумерный массив, вычислить произведение отрицательных элементов, заменить этим числом элементы второй строки матрицы
C++ Дан двумерный массив. Найти среднее арифметическое k-й строки массива
C++ Двумерный массив.Найти среднее арифметическое по столбцам.Столбец с наибольшим средним записать отдельно. В исходной матрице заменить его нулями
C++ Дан Массив. Найти среднее арифметическое элементов каждой строки матрицы
C++ Дан двумерный массив m*n. Найти среднее арифметическое положительных элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
06.01.2010, 20:36     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #2
Цитата Сообщение от Катерифка)) Посмотреть сообщение
Не получается написать правильно программу.Дан двумерный массив А размером m*n. Найти среднее арифметическое S его элементов и заменить этим числом элементы 2-й строки.Оформить в виде функций. Что делать?
1. показать что получается
2. подумать
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
06.01.2010, 21:18     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define N 5
int i,j;
void fun(int A[N][N],int i,int j,int srar);
int main()
{
srand((unsigned)time(0));
  static int A[N][N],srar;
cout<<"Matrix: "<<endl;
  for (i=0;i<N;i++)
  {
    for (j=0;j<N;j++)
    {
        A[i][j]=rand()%10;
        cout<<A[i][j]<<" ";
        srar+=A[i][j];
    }
    cout<<endl;
  }
  srar/=N*N;
  cout<<"\nSrednee arifm: "<<srar<<endl;
  cout<<"\nItog:\n";
  fun(A,i,j,srar);
}
void fun(int A[N][N],int i,int j, int srar)
{
  for (i=0;i<N;i++)
  {
    for (j=0;j<N;j++)
    {
       if (i!=1)
       cout<<A[i][j]<<" ";
       else
       cout<<srar<<" ";
    }
    cout<<endl;
  }
}
Катерифка))
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9
11.01.2010, 23:06  [ТС]     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #4
кто может это решить?а то у меня не получается. Дан двумерный массив А размером n*m. айти среднее арифметическое S его элементов и заменить этим числом элементы 2-й строки.Оформить в виде функций.
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
12.01.2010, 00:01     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#define n 6
#define m 6
  
void main()
  {
   randomize();
   clrscr();
   int i,j,temp;
   float suma;
   float a[n][m];
 
   cout<<"\nmasiv:\n";
   for(i=0;i<n;i++)
    {
     for(j=0;j<m;j++)
      {
     a[i][j]=random(8)-4;
     cout<<a[i][j]<<" ";
         suma=suma+a[i][j];
      }
     cout<<"\n";
    }
 
    suma=suma/(n*m);
    
    for(j=0;j<n;j++)
     {
      a[1][j] = suma;
     }
     
     for(i=0;i<n;i++)
    {
     for(j=0;j<m;j++)
      {
         
     cout<<a[i][j]<<" ";
         
      }
     cout<<"\n";
    }
 getch();
 }
Катерифка))
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9
21.01.2010, 14:42  [ТС]     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #6
не знаю как это решить, считает неправильно, оформить в виде функции
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.01.2010, 15:16     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
/* возвращает округлённое до целого среднее арифметическое значений элементов матрицы */    
int average(int **matr, int rows, int cols){
    int i, j, sum = 0;
    for ( i = 0; i < rows; ++i )
        for ( j = 0; j < cols; ++j )
            sum += matr[i][j];
    return (int)((double)sum / (double)(rows * cols) + 0.5);
}
 
/* устанавливает значения одномерного массива */
void setArrValues(int *arr, int cnt, int val){
    while ( cnt-- )
        *arr++ = val;
}
 
#define ROWS 5
#define COLS 4
int main(void){
    int **matr, i, j, avg;
    
    srand(time(NULL));
    if ( ( matr = (int**)calloc(ROWS, sizeof(int*)) ) == NULL )
        exit(1);
    for ( i = 0; i < ROWS; ++i )
        if ( ( matr[i] = (int*)calloc(COLS, sizeof(int)) ) == NULL )
            exit(1);
    printf("\nBefor:\n");
    for ( i = 0; i < ROWS; ++i )
        for ( j = 0; j < COLS; ++j )
            printf( ( j < COLS - 1 ) ? "%02d " : "%02d\n", ( matr[i][j] = rand() % 100 ));
    printf("\nAverage value: %d\n", ( avg = average(matr, ROWS, COLS)));
    setArrValues(matr[1], COLS, avg);
    printf("\nAfter:\n");
    for ( i = 0; i < ROWS; ++i )
        for ( j = 0; j < COLS; ++j )
            printf( ( j < COLS - 1 ) ? "%02d " : "%02d\n", matr[i][j]);
            
    
    for ( i = 0; i < ROWS; ++i )
        free(matr[i]);
    free(matr);
    exit(0);
}
Катерифка))
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9
21.01.2010, 16:34  [ТС]     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include<iostream.h>
#include<conio.h>
#include<math.h>
int const n=3,m=4;
void InArray(int [n][m]);
void PrintArray(int [n][m]);
void ChangeArray(int [n][m]);
void main()
{
clrscr();
int X[n][m];
InArray(X);
PrintArray(X);
ChangeArray(X);
int P=1;
void InArray(int X[n][m])
{
cout<<"input massiv X"<<n<<"*"<<m<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cin>>X[i][j];
cout<<endl;
}
}
void PrintArray(int X[n][m])
{
for(i=0;i<0;i++)
{
for(int j=0;j<0;j++)
if(X[i][j]<0)
{
cout<<X[i][j];
cout<<endl;
}
}
for(i=0;i<n;i++)
{
for(int j=0;j<m;j++)
if(X[i][j]<0)
{
P=P*X[i][j];
}
}
}
cout<<"P="<<P;
void ChangeArray(int X[n][m])
{
int k=1;
for(int j=0;j<m;j++)
{
X[k][j]=P;
}
}
cout<<X[i][j]<<" ";
cout<<endl;
cout<<"\n";
getch();
}
Вот эта программа правильно не работает.Что делать?
Катерифка))
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9
21.01.2010, 16:36  [ТС]     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #9
Я написала вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include<iostream.h>
#include<math.h>
#include<conio.h>
int const n=3,m=4;
void InArray(int X[n][m])
void ChangeArray()
void main()
{
clrscr();
int X[n][m];
InArray(X);
PrintArray(X);
ChangeArray(X);
float S=0,P=1;
void InArray(int X[n][m])
{
cout<<"vvod massiv iz"<<n<<"*"<<m<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cin>>X[i][j];
cout<<endl;
}
for(i=0;i<n;i++)
{
for(int j=0;j<m;j++)
S=S+X[i][j];
cout<<"\n";
}
P=S/(n*m);
void ChangeArray(X[n][m])
{
for(int j=0;j<n;j++)
{
X[1][j]=P;
}
{for(j=0;j<n;j++)
{
cout<<X[i][j]<<" ";
}
}
cout<<"\n";
getch();
}
}
А она правильно не работает, и когда ее с функциями сделала, ошибку 1 пишет в changeArray
что делать???
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 17:42     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #10
Цитата Сообщение от Катерифка)) Посмотреть сообщение
void InArray(int X[n][m])
void ChangeArray()
а где в конце ";" после етих строк?

и вроед должно быть так
C
1
void ChangeArray(int X[n][m]);
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.01.2010, 21:08     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #11
Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки.Оформить как функцию
Может кто скажет, может ли это пригодится в нормальной программе?
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
21.01.2010, 21:14     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #12
Genius Ignat, пригодится может все. У таких заданий есть как минимум один плюс - заставляют думать, разрабатывают мышление.
Просьба больше не оффтопить
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.01.2010, 21:29     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #13
M128K145:
Больше не буду.

Добавлено через 1 минуту
Сейчас подумаем над задачей.
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 21:39     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #14
а что тут думать?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void change(int **a,int n,int m)
{
int i,j,suma = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
suma+=a[i][j];
}
}
suma=suma / (n*m);
i = 1;
for(j=0;j<m;j++)
{
a[i][j]=suma;
}
}
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.01.2010, 21:40     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #15
Radjuk:
А боюсь юзер будет требователен к твоей программе.
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 21:48     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #16
ну я же не буду писать сюда полную програму ..... я написал функцию которая считает среднее значение
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.01.2010, 21:57     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #17
Я бы тебе дал ссылку на страницу где "неохото" писать полную программу.

Добавлено через 1 минуту
Вот кстати полный код:
Надеюсь юзер ни кого на спасибо, не обделит.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream.h>
void transform(int *matrix,int height,int weight); 
 
void main(){
const int Height = 3;
const int Weight = 3;
int matrix[Height][Weight] = {0};
for(int h=0;h<Height;h++){
        for(int g=0;g<Weight;g++)
    {
    cout<<"STR"<<' '<<h<<' '<<"STB"<<' '<<g<<' ';cin>>matrix[h][g];
}
cout<<'\n';
}
 
cout<<'\n';
transform(&matrix[0][0],Height,Weight);
 
 
for(int i=0;i<Height;i++){
    for(int g=0;g<Weight;g++){
    
cout<<' '<<matrix[i][g];
}
cout<<'\n';
}
 
 
cout<<'\n';
}
 
void transform(int *matrix,int height,int weight){
int S(0);
int sum(0);
for(int d=0;d<height;d++)
for(int f=0;f<weight;f++)sum+=matrix[d*weight+f];
S = sum/(height*weight);
int i=1;
for(int j=0;j<weight;j++)matrix[i*weight+j]=S;
 
}
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 21:58     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #18
ыыыы.... не понял?

извини конешно.... но вроде у нее почти правильный код....ошибки толкьо в обявление прототипов функции

Добавлено через 1 минуту
о ну вот и код ))))
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.01.2010, 21:59     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #19
Наверное матрица должна иметь тип double или float.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2010, 22:02     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки
Еще ссылки по теме:

C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов C++
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 22:02     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки #20
ну думаю может быть и инт ... но задать еще
C
1
a[i][j]=rand%20 - 10;
Добавлено через 22 секунды
что бы веселей было)
Yandex
Объявления
21.01.2010, 22:02     Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки
Ответ Создать тему
Опции темы

Текущее время: 00:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru