Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 8
1

Среднее арифметическое min и max элементов матрицы

09.07.2014, 21:22. Показов 3076. Ответов 9
Метки нет (Все метки)

В целочисленном массиве A[n][m] для каждого столбца найти среднее арифметическое max и min элементов.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2014, 21:22
Ответы с готовыми решениями:

Найти max и min, если min левее max, то среднее арифметическое между ними
#include <iostream.h> #include <stdio.h> #include <conio.h> #include <math.h> void main() {...

Найти среднее арифметическое элементов между min и max элементами массива
Найти среднеарифметическое чисел, находящихся между максимальным и минимальным элементами массива...

Найти среднее арифметическое max и min значений элементов в главной диагонали
Доброго времени суток, как сделать так чтобы выводило сред. значение только для главной диагонали...

Посчитать среднее арифметическое элементов массива, расположенных между max и min
В массиве нужно подсчитать среднее арифметическое всех элементов расположенных между максимальным...

9
Модератор
Эксперт С++
11288 / 9277 / 5565
Регистрация: 18.12.2011
Сообщений: 24,767
09.07.2014, 21:41 2
См. например
Найти максимальный элемент в заданной строке двумерного массива
Аналогично находите минимум и делите сумму max+min на два.
Сделаете так для каждой строки.
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 8
09.07.2014, 21:55  [ТС] 3
а если для столбца?
0
54 / 3 / 2
Регистрация: 17.05.2014
Сообщений: 72
09.07.2014, 22:00 4
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < m; i++)
{
    min = max = A[0][i];
    for(int j = 1; j < n; j++)
    {
        if (min > A[j][i]) min = A[j][i];
        if (max < A[j][i]) max = A[j][i];
    }
    sum = (min + max) / 2.f;
    std::cout << sum << std::endl;
}
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 8
09.07.2014, 22:47  [ТС] 5
Цитата Сообщение от deniska91 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < m; i++)
{
    min = max = A[0][i];
    for(int j = 1; j < n; j++)
    {
        if (min > A[j][i]) min = A[j][i];
        if (max < A[j][i]) max = A[j][i];
    }
    sum = (min + max) / 2.f;
    std::cout << sum << std::endl;
}
Цитата Сообщение от zss Посмотреть сообщение
Аналогично находите минимум
Когда ищу min появляется ошибка. посмотрите, где я неправа
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
const int N=3;
const int M=5;
 
int main()
{
     setlocale(LC_ALL, "Russian");
    int i, j, max, min, row, col;
    float sum;
    int arr[N][M];
    printf("Введите массив:\n ");
    for (i=0; i<N; i++) 
        for (j=0; j<M; j++)
            scanf("%d",&arr[i][j]);  //ввод данных в массив
            
    printf("Матрица A\n"); 
    for ( i = 0; i < N; i ++ ) 
    { 
            for ( j = 0; j < M; j ++ ) 
                printf ( "%4d ", arr[i][j] ); // вывод массива
            printf("\n");
    }
  
    
    for (int i = 0; i < M; i++)
{
    max = arr[0][i];
    row = 0; 
    col = 0; 
    for(int j = 1; j < M; j++)
    {
        if ( arr[i][j] < arr[row][col]) // нахождение min элемента
                { 
                    row = i; 
                    col = j;
                    min=arr[row][col];
        }
        if (max < arr[j][i])
        {
            max = arr[j][i];
        }
    }
    sum = float((min + max)) / 2.f;
    printf("\nmin (%d): ",min);
    printf("\nmax (%d): ",max);
    printf("\nsum (%-5.2f): ",sum);
    
}                    
    system ("pause");
    getch();
}
0
54 / 3 / 2
Регистрация: 17.05.2014
Сообщений: 72
09.07.2014, 23:24 6
Pekishenok, а чем вам мой код не нравится, находит среднее арифметическое каждого столбца.
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 8
10.07.2014, 00:04  [ТС] 7
deniska91, тоже самое. поэтому взяла свой из другой задачи, и тоже не работает
0
54 / 3 / 2
Регистрация: 17.05.2014
Сообщений: 72
10.07.2014, 00:18 8
Цитата Сообщение от Pekishenok Посмотреть сообщение
Когда ищу min появляется ошибка. посмотрите, где я неправа
Что за ошибка появляется?
0
1129 / 788 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
10.07.2014, 00:22 9
Pekishenok, лучше(чем исправлять ошибки) будет удалить строки 27,28, 31-36 и написать заново. (7 ошибок в 8 строках).
Pekishenok, можете ли Вы решить такую задачу. (Возможно, для начала удобнее будет, не отвлекаясь на матрицы и столбцы, рассмотреть задачу попроще.) В массиве arr[MAXSIZE] найти min элемент:
C++
1
2
3
4
5
// определение массива ...
for( ... )
{
  // какие действия необходимо выполнить для поиска min? 
}
0
54 / 3 / 2
Регистрация: 17.05.2014
Сообщений: 72
10.07.2014, 00:22 10
замените в своем коде
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
for (int i = 0; i < M; i++)
{
    max = arr[0][i];
    row = 0; 
    col = 0; 
    for(int j = 1; j < M; j++)
    {
        if ( arr[i][j] < arr[row][col]) // нахождение min элемента
                { 
                    row = i; 
                    col = j;
                    min=arr[row][col];
        }
        if (max < arr[j][i])
        {
            max = arr[j][i];
        }
    }
    sum = float((min + max)) / 2.f;
    printf("\nmin (%d): ",min);
    printf("\nmax (%d): ",max);
    printf("\nsum (%-5.2f): ",sum);
    
}
на
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i = 0; i < M; i++)
{
    min = max = arr[0][i];
    for(int j = 1; j < N; j++)
    {
        if (min > arr[j][i]) min = arr[j][i];
        if (max < arr[j][i]) max = arr[j][i];
    }
    sum = (min + max) / 2.f;
   printf("\nmin (%d): ",min);
    printf("\nmax (%d): ",max);
    printf("\nsum (%-5.2f): ",sum);
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2014, 00:22

Среднее арифметическое элементов, расположенных между первым min и последним max элементами массива
Найти среднее арифметическое элементов, расположенных между первым минимальным и последним...

Подсчитать в массиве среднее арифметическое всех элементов, найти макси мальный max и минимальный min элементы массива.
Вопрос в следующем. Нужно написать программу на С++ вот задание: Создать массив a1, a2, ..., an...

Найти в каждой строке матрицы среднее арифметическое max отрицательного и min положительного элементов
Составить программу , которая находит в каждой строке матрицы Q(k,l) среднее арифметическое...

Найти среднее арифметическое элементов массива между min и max
Дан одномерный массив. Нужно посчитать среднее арифметическое элементов находящихся между...

Типизированные файлы. Найти число элементов, min/max, среднее арифметическое элементов заданного файла
На диске дан файл INT.DAT, состоящий из целых чисел (FILE OF INTEGER). Написать программу,...

Дан массив A(N, M). Найти среднее арифметическое элементов находящихся между max и min элементов массива
Дан массив A(N, M). Найти среднее арифметическое элементов находящихся между max и min элементов...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.