Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для xpressforze
5 / 3 / 2
Регистрация: 25.12.2013
Сообщений: 56

Определить индекс столбца матрицы, среднее арифметическое элементов которого максимально

16.03.2016, 05:41. Показов 2025. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана прямоугольная матрица b[M][N]. Определить индекс столбца, среднее арифметическое элементов которого максимально. Если таких столбцов несколько, то выдать наименьший из их индексов. Элементы матрицы задать с помощью генератора случайных чисел. Значения M, N ввести с клавиатуры. Ограничения: M<=10, N<=10, значения элементов из диапазона [-15; 20].
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2016, 05:41
Ответы с готовыми решениями:

Матрицы. Определить индекс стобца, среднее арифметическое элементов которого максимально
Дана прямогульная матрица b. Определить индекс стобца. среднее арифметическое жлементов которого максимально. Если таких столбцов...

Определить среднее арифметическое чётных элементов третьего столбца матрицы
Дан двумерный массив целых чисел. Определить: среднее арифметическое чётных элементов третьего столбца; среднее арифметическое элементов...

Определить среднее арифметическое положительных элементов каждого столбца матрицы
дан двухмерный массив 5х6. Определить среднее арифметическое положительных элементов каждого столбца. #include &lt;iostream&gt; ...

5
28 / 20 / 97
Регистрация: 22.10.2015
Сообщений: 304
16.03.2016, 05:46
Шаг 1. Инициализируете массив с помощью функции rand()
Шаг 2. В цикле по столбцам считаете среднее арифметическое элементов столбца и если оно строго больше максимального, присвоить максимуму это значение
Шаг 3. Вывести значение максимума
0
 Аватар для xpressforze
5 / 3 / 2
Регистрация: 25.12.2013
Сообщений: 56
16.03.2016, 05:55  [ТС]
Дана прямоугольная матрица b[M][N]. Определить индекс столбца, среднее арифметическое элементов которого максимально. Если таких столбцов несколько, то выдать наименьший из их индексов. Элементы матрицы задать с помощью генератора случайных чисел. Значения M, N ввести с клавиатуры. Ограничения: M<=10, N<=10, значения элементов из диапазона [-15; 20].


Такое решение не правильно считывает сумму элементов строки и не правильно выдает ее индекс

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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    setlocale(0, "");
    int h1,i,j,N,M,b[10][10];
    cout«"Введите количесво строк N="; //ввод количества строк
    cin»N;
    cout«"Введите количество столбцов M="; //ввод количества столбцов
    cin»M;
    for (i=0; i<N; i++)
        for (j=0; j<M; j++)
            b[i][j]=rand()%20-10;
    
    cout«"Матрица \n";
    for (i=0; i<N; i++)
    {
        for (j=0; j<M; j++)
            cout«b[i][j]«"\t"; //вывод элемента матрицы
        cout«endl;
    } 
    
    //нахождение минимального среднего
    float min=0;
    for (i=0,j=0; i<1,j<M; j++) min+=b[i][j]; 
    
    min=min/M; 
    float min_mas; 
    int str; 
    for (i=0; i<N; i++)
    {
        for (j=0; j<M; j++)
            min_mas+=b[i][j];//все элементы строки присваиваем среднему арифметическому 
        if (min_mas/M<min){
            min=min_mas/M;
            
        }
        
        
    } 
    cout«"Индекс строки минимального среднего значения: "«str«"\n";
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
28 / 20 / 97
Регистрация: 22.10.2015
Сообщений: 304
16.03.2016, 06:05
А где собственно присваивание str некоего значения?

Зачем там сложно?
C++
1
for (i=0,j=0; i<1,j<M; j++) min+=b[i][j];
Можно проще
C++
1
for (j=0; j<M; j++) min+=b[0][j];
0
 Аватар для xpressforze
5 / 3 / 2
Регистрация: 25.12.2013
Сообщений: 56
16.03.2016, 06:44  [ТС]
dcshowcousa, Я все равно не могу сообразить...
0
 Аватар для xpressforze
5 / 3 / 2
Регистрация: 25.12.2013
Сообщений: 56
21.03.2016, 06:47  [ТС]
Было реализовано таким образом:
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iostream>
#include <windows.h>
using namespace std;
void bubble(int* a, int n)
{
  for (int i=n-1; i>=0; i--)
  {
    for (int j=0; j<i; j++)
    {
      if (a[j] < a[j+1])
      {
        int tmp = a[j];
        a[j] = a[j+1];
        a[j+1] = tmp;
      }
    }
  }
}
 
int main()
{
    int m,n;
    setlocale(LC_ALL, "Russian");
    cout << "[Введите m]" <<endl;
    do
    {
        cin >> m;
    }
    while (m>10);
 
    cout << "[Введите n]" << endl;
    do
    {
        cin >> n;
    }
    while (n>10);
 
    int *a=new int [n];
    int *b=new int [m];
    int *c=new int [m+n];
 
    for (int i=0; i!=n; i++)
    {
       a[i]=-30+rand()%61;
    }
    bubble(a, n);
    for (int i=0; i!=n; i++)
    {
       cout << "Массив a " << a[i] << endl;
    }
 
    for (int i=0; i!=m; i++)
    {
        b[i]=-30+rand()%61;
    }
    bubble(b, m);
    for (int i=0; i!=m; i++)
    {
        cout << "Массив b " << b[i] << endl;
    }
 
    int k = m - 1;
    int j = n - 1;
    int i = 0;
    while( k >= 0 || j >= 0 )
    {
        if( k >= 0 )
        {
            while( j >= 0 && a[ j ] < b[ k ] )
            {
                c[ i ] = a[ j ];
                j--;
                i++;
            }
        }
        else
        {
            c[ i ] = a[ j ];
            i++;
            j--;
        }
 
        if( j >= 0 )
        {
            while( k >= 0 && a[ j ] > b[ k ] )
            {
                c[ i ] = b[ k ];
                k--;
                i++;
            }
        }
        else
        {
            c[ i ] = b[ k ];
            i++;
            k--;
        }
    }
    for( int i = 0; i < n + m; i++ )
    {
        cout << c[ i ]<< endl;
    }
 
   cout << "" << endl;
    return 0;
}
Добавлено через 11 минут
Черт возьми. Ошибся темой с ответом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2016, 06:47
Помогаю со студенческими работами здесь

Определить: среднее арифметическое элементов n-го столбца и сумму квадратов элементов k-й строки матрицы
Дан двумерный массив. Определить: среднее арифметическое элементов n-го столбца массива и сумму квадратов элементов k-й строки массива. ...

Найти порядковый номер массива, среднее арифметическое значение элементов которого максимально
дана задача, совсем запутался уже, помогите пожалуйста: Написать функцию, получающую в качестве параметров два массива целого типа...

Функция: получить две матрицы и вернуть номер матрицы, среднее арифметическое элементов которой максимально
нужна помощь в этой задаче!!! Написать функцию, получающую в качестве параметров два массива целого типа произвольного размера и...

Каждый элемент столбца матрицы разделить на среднее арифметическое элементов данного столбца
Заданный массив действительных чисел А (n, n). Необходимо каждый элемент столбца разделить на среднее арифметическое элементов данного...

Определить среднее значение элементов, найти индекс строки и столбца
Определить среднее значение элементов матрицы. Найти далее индекс строки и столбца элемента массива, наиболее близкого к среднему значению....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты 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 и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru