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

Найти наибольший элемент в каждом из двух массивов

30.11.2011, 09:52. Показов 971. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста!потерял лекцию по подропграммам в си,а задание нужно срочно сдать
Ввести двумерные массивы x1 и x2
Найти наибольший
элемент в каждом из массивов. В каждой матрице записать в строку,
содержащую этот элемент нули, исключая сам максимальный элемент.
Вывести на экран матрицы до преобразования и после. (При решении
реализовать процедуры ввода и вывода массивов: Vvod2m(A,N,M,Name),
Vivod2m(A,N,M,Name) и ZamenaStr(A,Iz,M,Jz) – замена нулями элементов
строки Iz, кроме элемента расположенного в столбце Jz; а также
процедуру Maximum(A,N,M,Imax,Jmax) – поиск координат максимума)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2011, 09:52
Ответы с готовыми решениями:

Найти наибольший элемент в каждом столбце матрицы
Помогите найти наибольшее число в каждом столбце матрицы #include "stdafx.h" #include <stdio.h> ...

В двумерном массиве А[5, 4] найти в каждом столбце наибольший (максимальный элемент)
В двумерном массиве А найти в каждом столбце наибольший (максимальный элемент). После этого определить столбец у которого максимальный...

В двумерном массиве А[5, 4] найти в каждом столбце наибольший (максимальный элемент)
В двумерном массиве А найти в каждом столбце наибольший (максимальный элемент). После этого определить столбец у которого максимальный...

6
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
30.11.2011, 09:56
а обязательно на Си?
0
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 46
30.11.2011, 10:07  [ТС]
да можно и на паскале ,не так критично,но в си предпочтительнее)
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
30.11.2011, 10:34
паскаль я тем более не знаю.
на плюсах могу шарахнуть
0
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 46
30.11.2011, 10:52  [ТС]
тогда хоть в си пжласт)
а в си от си++ есть разница?
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
30.11.2011, 10:54
еще как!
ну си я знаю весьма херово так что не судьба
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
06.12.2011, 10:57
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
#include <iostream>
#include <time.h>
#include <stdlib.h>
 
void input      ( int **, int , int );   // ввод руками
void input_rand ( int **, int , int );   // ввод рандомом
int  find_max   ( int **, int , int );   // поиск максимума
void resize     ( int **, int &, int &);   // изменение размеров матрицы
void change     ( int **, int , int , int );  // изменение
void output     ( int **, int , int );   // вывод
 
int main()
{
    srand ( time ( NULL ) );
    int **matrix_1;
    int **matrix_2;
 
    std::cout << "Enter size of matrix_1 ( N x M ): ";
    int N_1, M_1;
    std::cin  >> N_1 >> M_1;
    std::cout << "\nEnter size of matrix_2 ( N x M ): ";
    int N_2, M_2;
    std::cin  >> N_2 >> M_2;
 
 
    int max_1;        // максимум первой матрицы
    int max_2;        // максимум второй матрицы
 
    matrix_1 = new int * [N_1];      // создание матрицы НхМ
    for ( int i = 0; i < N_1; i ++ )
        matrix_1[i] = new int [M_1];
 
    matrix_2 = new int * [N_2];      // создание второй матрицы Н2хМ2
    for ( int i = 0; i < N_2; i ++ )
        matrix_2[i] = new int [M_2];
 
    int choose = 13;                 // менюшка
    while ( choose != 0 )
    {
 
        switch (choose)
        {
        case 1:
            std::cout << "Input matrix_1" << std::endl;  // Ввод руками
            input(matrix_1, N_1, M_1);
            break;
        case 2:
            std::cout << "Input matrix_2" << std::endl;
            input(matrix_2, N_2, M_2);
            break;
        case 3:
            std::cout << "Print matrix_1" << std::endl; // Вывод
            output(matrix_1, N_1, M_1);
            break;
        case 4:
            std::cout << "Print matrix_2" << std::endl;
            output(matrix_2, N_2, M_2);
            break;
        case 5:
            std::cout << "Randomize matrix_1" << std::endl;  // рандомное заполнение
            input_rand( matrix_1, N_1, M_1 );
            break;
        case 6:
            std::cout << "Randomize matrix_2" << std::endl;
            input_rand( matrix_2, N_2, M_2 );
            break;
        case 7:
            std::cout << "Resize matrix_1" << std::endl;    // Изменение размеров Н и М
            resize( matrix_1, N_1, M_1 );
            break;
        case 8:
            std::cout << "Resize matrix_2" << std::endl;
            resize( matrix_2, N_2, M_2 );
            break;
        case 9:
            std::cout << "Find max in matrix_1" << std::endl;
            max_1 = find_max ( matrix_1, N_1, M_1);
            break;
        case 10:
            std::cout << "Find max in matrix_2" << std::endl;
            max_2 = find_max ( matrix_2, N_2, M_2);
            break;
        case 11:
            std::cout << "Change matrix_1" << std::endl;
            change ( matrix_1, N_1, M_1, max_1);
            break;
        case 12:
            std::cout << "Change matrix_2" << std::endl;
            change ( matrix_2, N_2, M_2, max_2);
            break;
        case 13:
            break;
        case 0:
            std::cout << "======GOODBYE !!=====" << std::endl;
            break;
        default:
            std::cout << "ERROR" << std::endl;
            break;
        }
 
        std::cout << "1.  Input matrix_1" << std::endl;
        std::cout << "2.  Input matrix_2" << std::endl;
        std::cout << "3.  Print matrix_1" << std::endl;
        std::cout << "4.  Print matrix_2" << std::endl;
        std::cout << "5.  Randomize matrix_1" << std::endl;
        std::cout << "6.  Randomize matrix_2" << std::endl;
        std::cout << "7.  Resize matrix_1" << std::endl;
        std::cout << "8.  Resize matrix_2" << std::endl;
        std::cout << "9.  Find max in matrix_1" << std::endl;
        std::cout << "10. Find max in matrix_2" << std::endl;
        std::cout << "11. Change matrix_1" << std::endl;
        std::cout << "12. Change matrix_2" << std::endl;
        std::cout << "0 . EXIT" << std::endl;
 
        std::cout << "\n";
        std::cin  >> choose;
        system("cls");
        }
 
    return 0;
 
    }
 
 
 
void output ( int **matrix, int row, int column )
{
        std::cout << std::endl;
        for ( int i = 0; i < row; i ++ )
        {
                for ( int j = 0; j < column; j ++ )
                        std::cout << matrix[i][j] << "\t";
                std::cout << std::endl;
        }
}
 
void input_rand ( int ** matr, int row, int column )
{
        for ( int i = 0; i < row; i ++ )
                for ( int j = 0; j < column; j ++ )
                        matr[i][j] = rand() % 50 - rand() % 25;
}
 
void resize( int ** matr, int &row, int &column )
{
        for ( int i = 0; i < row; i ++ )
                delete [] matr[i];
        delete [] matr;
 
        std::cout << "\nEnter new row: ";
        std::cin >> row;
        std::cout << "\nEnter new column: ";
        std::cin >> column;
 
        matr = new int* [ row ];
        for ( int i = 0; i < row; i ++ )
                matr[i] = new int [ column ];
        input_rand(matr, row, column );
}
 
void input ( int ** matr, int row, int column )
{
        for ( int i = 0; i < row; i ++ )
                for ( int j = 0; j < column; j ++ )
                {
                        std::cout << "Input matrix[ " << i << " ][ " << j << " ]: ";
                        std::cin >> matr[i][j];
                        std::cout << std::endl;
                }
 
}
 
int find_max ( int ** matr, int row, int column )
{
    int max = matr[0][0];
    for ( int i = 0; i < row; i ++ )
        for ( int j = 0; j < column; j ++ )
            if ( max < matr[i][j] ) max = matr[i][j];
    std::cout << "\nMaximum of matrix = " << max << std::endl;
    return max;
}
 
void change ( int ** matrix, int row, int column, int max )
{
    for ( int i = 0; i < row; i ++ )
        for ( int j = 0; j < column; j ++ )
        {
            if ( matrix[i][j] == max ) //  если найден максимальный элемент - входим во внутренний цикл
            {
                for ( int k = 0; k < column; k ++ ) // еще раз пробегаем по всей строке
                    if ( matrix[i][k] != max ) matrix[i][k] = 0;  // если элемент не равен максимуму - заменить на 0
                break;   // досрочный выход из цикла for ( int j = 0; j < column; j ++ )
            }
        }
    std::cout << "Change complite!\n";
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2011, 10:57
Помогаю со студенческими работами здесь

Найти наибольший элемент в каждом столбце матрицы и непер наименьшего из них?
Найти наибольший элемент в каждом столбце матрицы и непер наименьшего из них?

Как найти наибольший элемент в каждой строке и наименьший в каждом столбце матрицы?
Дана вещественная матрица M x N. Найти 2 суммы: наибольших значений элементов ее строк, наименьших значений ее столбцов.

Найти в каждом столбце наибольший элемент и поменять его местами с элементом главной диагонали
Задана матрица порядка n. Найти в каждом столбце наибольший элемент и поменять его местами с элементом главной диагонали.

Найти сумму положительных и произведение отрицательных элементов в каждом из двух массивов
Заданы целые массивы C, D. Найти сумму положительных элементов и произведение отрицательных элементов в каждом из массивов

В каждом из массивов найти наибольшее значение и умножить на него все элементы массивов
Заданы два массива А(5) и В(5). В каждом из массивов найти наибольшее значение и умножить на него все элементы массивов. На печать вывести...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru