Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 30
1

Найти максимальный элемент в каждой строке матрицы отдельно.

14.05.2012, 10:46. Показов 1391. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задана матрица A(n,m). для выполнения действий над элементами матрицы в соответствии с данными, приведенными в таблице написать программу на языке C. Количество строк n=30. Количество m=20. Результат - одномерный массив. Найти максимальный элемент в каждой строке матрицы отдельно. Помогите решать ,,,,,
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2012, 10:46
Ответы с готовыми решениями:

В каждой строке матрицы найти максимальный элемент
Задан двумерный массив. В каждой его строке найти максимальный элемент.

Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами
Дана матрица вещественных чисел N х М. Количество строк N и столбцов М задается пользователем....

В каждой строке матрицы найти максимальный элемент и вывести его индекс
Дана матрица nxn. В каждой строке матрицы найти максимальный элемент и вывести его индекс

Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами
Дана матрица вещественных чисел N х М. Количество строк N и столбцов М задается пользователем....

2
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
14.05.2012, 21:22 2
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
#include <stdlib.h>
 
const int n = 30, m = 20;
 
int main()
{
    int** ppA = new int*[n];
    for (int i = 0; i < n; i++)
    {
        ppA[i] = new int[m];
        for (int k = 0; k < m; k++)
            ppA[i][k] = rand() % 9 + 1;
    }
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
            printf("%d ",ppA[i][j]);
        printf("\n");
    }
 
    printf("\n");
    
    int n1 = 0, n2 = 0; 
    int *pB = new int[n * m], 
        *pC = new int[n];
    for (int q1 = 0; q1 < n; q1++)
    {
        int max = 0;
        for (int q2 = 0; q2 < m; q2++)
        {
            if (ppA[q1][q2] > ppA[q1][max]) 
                max = q2;
 
            pB[n1++] = ppA[q1][q2];
        }
 
        pC[n2++] = ppA[q1][max];
    }
 
    for (int z1 = 0; z1 < n*m; z1++)
        printf("%d ",pB[z1]);
    printf("\n\n");
 
    for (int z2 = 0; z2 < n; z2++)
        printf("%d ",pC[z2]);
    printf("\n");
 
    return 0;
}
http://liveworkspace.org/code/... 0d304de2f3
1
Заблокирован
14.05.2012, 22:17 3
Лучший ответ Сообщение было отмечено Miras777 как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define m   ( 30 )
#define n   ( 20 )
 
int find_max( int *arr ) {
    int res = arr[ 0 ];
    size_t i = 0;
 
    while ( i < n ) {
        if ( res < arr[ i ] )
            res = arr[ i ];
        ++i;
    }
    return res;
}
 
void print_result( int *arr, size_t size ) {
    size_t i = 0, j = 0;
 
    switch ( size ) {
 
        case (m * n * sizeof(int)):
            while ( i++ < m ){
                j = 0;
                while ( j++ < n )
                    printf("%3d", *arr++ );
                puts("");
            }
            puts("");
            break;
        case ( m * sizeof( int ) ):
            while ( i++ < m )
                printf( "%3d", *arr++ );
            puts("");
            break;
        default:    puts("bad data\n");
    }
}
 
int main() {
 
    int matr[ m ][ n ], result[ m ];
    size_t i = 0, j;
    srand( time( NULL ) );
 
    while ( i < m ) {
        j = 0;
        while ( j < n )
            matr[ i ][ j++ ] = rand() % (m + n);
        result[ i ] = find_max( &matr[ i ][ 0 ] );
        ++i;
    }
    print_result( &matr[ 0 ][ 0 ], sizeof( matr ) );
    print_result( result, sizeof( result ) );
 
    return 0;
}
1
14.05.2012, 22:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2012, 22:17
Помогаю со студенческими работами здесь

Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами (неправильно работает)
Дана матрица вещественных чисел N х М. Количество строк N и столбцов М задается пользователем....

В каждой строке матрицы поменять местами максимальный элемент и элемент, находящийся на главной диагонали
Добрый Дня Всем! Столкнулся с проблемой в решении задания: В квадратной матрице С размера m*m в...

Массив: найти максимальный элемент в каждой строке и изменить его на 1
Дано массив A целых чисел. Вывести этот массив на экран, найти максимальный элемент в каждом рядке...

Найти максимальный элемент каждой строки матрицы
Здравствуйте! Помогите, пожалуйста, мне с программой. Я си изучаю 2 день и у меня возникла проблема...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru