|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.03.2016, 15:53 | #1 |
Регистрация: 29.03.2016
Сообщений: 8
|
Замена строки на столбец в матрице
Как разработать программу, которая в матрице размерности nxn меняет местами строку, содержащую элемент с минимальным значением со столбцом, содержащим элемент с максимальным значением. Матрица размещается в памяти динамически с помощью операции new, значение n вводится по запросу с клавиатуры. В конце работы программы освободить выделенную память. Вывести исходную и результирующую матрицы. Прошу помочь с кодом на С++.
|
29.03.2016, 15:59 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
1. находите строку с минимумом
2. находите столбец с максимумом 3. в цикле меняете что не получается? |
29.03.2016, 18:54 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Код:
|
29.03.2016, 22:33 | #4 | |
Форумчанин
Регистрация: 10.11.2008
Сообщений: 120
|
Цитата:
помог - жми на весы
|
|
30.03.2016, 16:10 | #5 |
Регистрация: 29.03.2016
Сообщений: 8
|
Это правильно ?
#include <iostream>
#include <stdlib.h> using namespace std; int main() { int num,elmax,elmin,mini,maxj; cout<<"Введите N"; cin>>num; int** a=new int*[num]; for(int i=0; i<num;i++) { a[i]=new int[num]; } int** b=new int*[num]; for(int i=0; i<num;i++) { b[i]=new int[num]; } for (int j=0;j<num;j++){ cout<<endl; for (int i=0;i<num;i++){ a[i][j] = 1 + rand()%100; cout<<a[i][j]<<" "; } } cout<<endl; elmax = a[0][0]; elmin = a[0][0]; for (int i=0;i<num;i++){ for(int j=0;j<num;j++){ if(a[i][j] > elmax){ elmax = a[i][j]; maxj = j; } if(a[i][j] < elmin){ elmin = a[i][j]; mini = i; } } } cout<<endl<<"min element: "<<elmin<<" max element: "<<elmax<<endl; for (int i=0;i<num;i++){ for(int j=0;j<num;j++){ b[i][j] = a[i][j]; } } for (int i=0;i<num;i++){ for(int j=0;j<num;j++){ if (j == maxj){ b[i][j] = a[mini][i]; } if (i == mini){ b[i][j] = a[j][maxj]; } } } for (int i=0;i<num;i++){ cout<<endl; for(int j=0;j<num;j++){ cout<<a[i][j]<<" "; } } cout<<endl; for (int i=0;i<num;i++){ cout<<endl; for(int j=0;j<num;j++){ cout<<b[i][j]<<" "; } } for(int i=0; i<num;i++) { delete [] a[i]; } for(int i=0; i<num;i++) { delete [] b[i]; } return 0; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Замена строк в матрице | Vitalyas | Помощь студентам | 2 | 16.06.2015 09:23 |
В прямоугольной матрице определить столбец, в котором все элементы расположены в порядке возрастания их значений (Unit и Program) | 6565 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 08.06.2014 21:06 |
В матрице, удалить столбец, элемент которого, кратный 5 | SeregaTihonov | Общие вопросы C/C++ | 5 | 26.03.2011 14:01 |
Задача на СИ в заданной матрице поменять местами первую строку и первый столбец %( | defol-777 | Помощь студентам | 2 | 14.01.2009 09:59 |