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

Матрицы: найти наибольший и наименьший элементы и поменять их местами

22.04.2012, 14:10. Показов 10349. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2012, 14:10
Ответы с готовыми решениями:

Найти наибольший и наименьший элементы матрицы, и поменять их местами
Найти наибольший и наименьший элементы матрицы D(M,M) и поменять их местами. На с++

Найти наибольший и наименьший элементы заданной матрицы и поменять их местами
Помогите пожалуйста написать программу! Программа звучит так: Дана действительная квадратная матрица порядка n, все элементы которой...

Найти наибольший и наименьший элементы каждой строки прямоугольной матрицы и поменять их местами
Помогите написать программу. Самостоятельно не получается никак.

5
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
22.04.2012, 14:22
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 <stdio.h>
#include <stdlib.h>
#include <time.h>
int a[10][10];
void generate(){
int i, j;
srand(time(NULL));
for (i=0; i<10; i++)
for (j=0; j<10; j++)
 a[10][10]=rand()%100;
}
void print(){
int i, j;
srand(time(NULL));
 for (i=0; i<10; i++){
  for (j=0; j<10; j++)
    printf("%d ", a[j][i]);
  printf("\n");
 }
}
void solve(){
int mini=0, minj=0, maxi=0, maxj=0, t;
for (i=0; i<10; i++)
  for (j=0; j<10; j++){
  if (a[mini][minj]>a[i][j]){
   mini=i;
   minj=j;
   }
  if (a[maxi][maxj]<a[i][j]){
   maxi=i;
   maxj=j;
   }
 }
t=a[mini][minj];
a[mini][minj]=a[maxi][maxj];
a[maxi][maxj]=t;
}
int main(){
  generate();
  print();
  printf ("\n new array\n");
  solve();
  print();
  return 0;
}
3
7 / 7 / 4
Регистрация: 10.04.2012
Сообщений: 31
22.04.2012, 14:41
О, боже...

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
#include <iostream>
#include <conio.h>
#include <ctime>
using namespace std;
void main(){
    srand(time(NULL));
    int a[10][10];
    for (int i = 0; i < 10; i++){
        for (int j = 0; j < 10; j++)
            a[i][j] = rand() % 50 + 1;
    }
    int min = a[0][0], max = a[0][0], num_min[2] = {0}, num_max[2] = {0};
    for (int i = 0; i < 10; i++){
        for (int j = 0; j < 10; j++){
            if (a[i][j] > max){
                max = a[i][j];
                num_max[0] = i;
                num_max[1] = j;
            }
            if (a[i][j] < min){
                min = a[i][j];
                num_min[0] = i;
                num_min[1] = j;
            }
        }
    }
    int tmp = a[num_min[0]][num_min[1]];
    a[num_min[0]][num_min[1]] = a[num_max[0]][num_max[1]];
    a[num_max[0]][num_max[1]] = tmp;
    _getch();
}
1
 Аватар для alexiuscrow
0 / 0 / 2
Регистрация: 28.10.2010
Сообщений: 52
15.10.2012, 03:01
Цитата Сообщение от bz_ Посмотреть сообщение
int min = a[0][0], max = a[0][0], num_min[2] = {0}, num_max[2] = {0};
for (int i = 0; i < 10; i++){
for (int j = 0; j < 10; j++){
if (a[i][j] > max){
max = a[i][j];
num_max[0] = i;
num_max[1] = j;
}
if (a[i][j] < min){
min = a[i][j];
num_min[0] = i;
num_min[1] = j;
}
}
}
int tmp = a[num_min[0]][num_min[1]];
a[num_min[0]][num_min[1]] = a[num_max[0]][num_max[1]];
a[num_max[0]][num_max[1]] = tmp;
_getch();
}[/CPP]
если же таковых элементов в матрице несколько?
к примеру минимальный элемент 4, максимальный 28. при этом в массиве находится 3 числа равные 4, и 2 равные 28.
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
15.10.2012, 11:48
Цитата Сообщение от alexiuscrow Посмотреть сообщение
если же таковых элементов в матрице несколько?
к примеру минимальный элемент 4, максимальный 28. при этом в массиве находится 3 числа равные 4, и 2 равные 28.
ищем в цикле элементы равные минимальному и присваем им значение максимального. С максимальными по аналогии
0
 Аватар для alexiuscrow
0 / 0 / 2
Регистрация: 28.10.2010
Сообщений: 52
15.10.2012, 14:57
Цитата Сообщение от panicwassano Посмотреть сообщение
ищем в цикле элементы равные минимальному и присваем им значение максимального. С максимальными по аналогии
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
int arrayw[4][4]={{1,1,3,4},{5,6,7,8},{9,10,7,12},{13,14,15,16}};
int min(arrayw[0][0]),max(arrayw[0][0]),indexmaxi(0),indexmaxj(0),indexmini(0),indexminj(0);
int numof(4);
 
String str;
String str2;
 
/*Запись в str*/
for(int i=0;i<numof;i++){
for(int j=0;j<numof;j++)
str+=IntToStr(arrayw[i][j])+"  ";
str+="\n";
}
Label15->Caption=str;
 
/*Замена местами макс и мин элементов (без совпадений)*/
for(int i=0;i<numof;i++){
for(int j=0;j<numof;j++){
if(arrayw[i][j]>max){
max=arrayw[i][j];
indexmaxi=i;
indexmaxj=j;
}
if(arrayw[i][j]<min){
min=arrayw[i][j];
indexmini=i;
indexminj=j;
}}}
int tmp=arrayw[indexmini][indexminj];
arrayw[indexmini][indexminj]=arrayw[indexmaxi][indexmaxj];
arrayw[indexmaxi][indexmaxj]=tmp;
 
/*Проверка на совпадения*/
for(int i=0;i<numof;i++){
for(int j=0;j<numof;j++){
if(arrayw[i][j]==max){
if(arrayw[i][j]!=array[indexmaxi][indexmaxj]){
arrayw[i][j]=arrayw[indexmini][indexminj];
}}
if(arrayw[i][j]==min){
if(arrayw[i][j]!=arrayw[indexmini][indexminj]){
arrayw[i][j]=arrayw[indexmaxi][indexmaxj];
}}}}
 
/*Запись в str2*/
for(int i=0;i<numof;i++){
for(int j=0;j<numof;j++)
str2+=IntToStr(arrayw[i][j])+"  ";
str2+="\n";
}
что, не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.10.2012, 14:57
Помогаю со студенческими работами здесь

Поменять местами наибольший и наименьший элементы матрицы
Прошу помощи. необходимо поменять наибольший и наименьший элементы матрицы, у меня проблема #include &quot;stdafx.h&quot; ...

Матрицы. Поменять местами наибольший и наименьший элементы
3. Дана матрица A(N,M). Поменять местами её наибольший и наименьший элементы.

Поменять местами столбцы матрицы, содержащие наибольший и наименьший элементы
Дана матрица М. 1. Поменяйте местами столбцы матрицы, содержащие наибольший и наименьший элементы матрицы. 2. Выполнить сортировку...

Массивы: наибольший и наименьший элементы прямоугольной матрицы и поменять их местами
В заданном одномерном массиве поменять местами соседние элементы ,стоящие на четных местах ,с элементами ,стоящими на нечетных...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru