Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.87/30: Рейтинг темы: голосов - 30, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9

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

06.01.2010, 20:06. Показов 6069. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не получается написать правильно программу.Дан двумерный массив А размером m*n. Найти среднее арифметическое S его элементов и заменить этим числом элементы 2-й строки.Оформить в виде функций. Что делать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.01.2010, 20:06
Ответы с готовыми решениями:

Дан двумерный массив, вычислить произведение отрицательных элементов, заменить этим числом элементы второй строки матрицы
написала программу, считает только произведение, надо оформить в виде функции

Дан двумерный массив. Найти его среднее арифметическое лежащих на главной диагонали
Дан двумерный массив. Найти его среднее арифметическое лежащих на главной диагонали. Помогите найти, я вообще не понимаю как найти на...

Дан двумерный массив. Найти среднее арифметическое k-й строки массива
Дан двумерный массив. Найти среднее арифметическое k-й строки массива Давайте темам осмысленные названия. Темы с некорректными...

33
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
06.01.2010, 20:36
Цитата Сообщение от Катерифка)) Посмотреть сообщение
Не получается написать правильно программу.Дан двумерный массив А размером m*n. Найти среднее арифметическое S его элементов и заменить этим числом элементы 2-й строки.Оформить в виде функций. Что делать?
1. показать что получается
2. подумать
0
Быдлокодер
 Аватар для Darky
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
06.01.2010, 21:18
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 / 0
Регистрация: 06.01.2010
Сообщений: 9
11.01.2010, 23:06  [ТС]
кто может это решить?а то у меня не получается. Дан двумерный массив А размером n*m. айти среднее арифметическое S его элементов и заменить этим числом элементы 2-й строки.Оформить в виде функций.
0
 Аватар для Radjuk
135 / 69 / 12
Регистрация: 10.10.2009
Сообщений: 187
12.01.2010, 00:01
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();
 }
1
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9
21.01.2010, 14:42  [ТС]
не знаю как это решить, считает неправильно, оформить в виде функции
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.01.2010, 15:16
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);
}
1
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 9
21.01.2010, 16:34  [ТС]
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 / 0
Регистрация: 06.01.2010
Сообщений: 9
21.01.2010, 16:36  [ТС]
Я написала вот так:
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
что делать???
0
 Аватар для Radjuk
135 / 69 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 17:42
Цитата Сообщение от Катерифка)) Посмотреть сообщение
void InArray(int X[n][m])
void ChangeArray()
а где в конце ";" после етих строк?

и вроед должно быть так
C
1
void ChangeArray(int X[n][m]);
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
21.01.2010, 21:08
Дан двумерный массив n*m Найти среднее арифметическое S его элементов и заменить этим числом элементы второй строки.Оформить как функцию
Может кто скажет, может ли это пригодится в нормальной программе?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
21.01.2010, 21:14
Genius Ignat, пригодится может все. У таких заданий есть как минимум один плюс - заставляют думать, разрабатывают мышление.
Просьба больше не оффтопить
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
21.01.2010, 21:29
M128K145:
Больше не буду.

Добавлено через 1 минуту
Сейчас подумаем над задачей.
0
 Аватар для Radjuk
135 / 69 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 21:39
а что тут думать?

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;
}
}
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
21.01.2010, 21:40
Radjuk:
А боюсь юзер будет требователен к твоей программе.
0
 Аватар для Radjuk
135 / 69 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 21:48
ну я же не буду писать сюда полную програму ..... я написал функцию которая считает среднее значение
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
21.01.2010, 21:57
Я бы тебе дал ссылку на страницу где "неохото" писать полную программу.

Добавлено через 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;
 
}
0
 Аватар для Radjuk
135 / 69 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 21:58
ыыыы.... не понял?

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

Добавлено через 1 минуту
о ну вот и код ))))
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
21.01.2010, 21:59
Наверное матрица должна иметь тип double или float.
0
 Аватар для Radjuk
135 / 69 / 12
Регистрация: 10.10.2009
Сообщений: 187
21.01.2010, 22:02
ну думаю может быть и инт ... но задать еще
C
1
a[i][j]=rand%20 - 10;
Добавлено через 22 секунды
что бы веселей было)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2010, 22:02
Помогаю со студенческими работами здесь

Дан двумерный массив m*n. Найти среднее арифметическое положительных элементов массива
2. Дан двумерный массив m*n. Найти среднее арифметическое положительных элементов массива.

Двумерный массив.Найти среднее арифметическое по столбцам.Столбец с наибольшим средним записать отдельно. В исходной матрице заменить его нулями
Найти среднее арифметическое по столбцам произвольной матрицы. Столбец с наибольшим средним записать отдельно. В исходной матрице заменить...

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
float v ; int i,j; int kk; float sr; float sum=0; for(int i=0; i&lt;kk;i=i+1) cout&lt;&lt;endl&lt;&lt;&quot;v=&quot;; cin&gt;&gt;v; for(int j=0;...

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов . Хочу понять как это делается напишите...

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
Ребят, надо написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет среднее арифметическое его...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru