Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dimonik92
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 26
#1

Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. - C++

14.11.2013, 11:12. Просмотров 376. Ответов 8
Метки нет (Все метки)

Ребят, помогите,что не так поправьте,я что то додумать не могу с этими двумерными массивами то ли скобки не так стоят,то ли чего не дописал!
//Задана матрица размером М х N. Найти максимальный по модулю эле¬мент матрицы.
//Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении t-й строки и k-го столбца.

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
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
int m[10][10];
int t,k;
 
 
srand((unsigned)time(NULL));
printf("Massiv: \n");
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
m[i][j] = rand()%10;
int max = m[0][0];
printf("%i ",m[i][j]);
 
}
printf("\n");
}
 
printf("VVedite koordinaty: \n");
scanf_s("%i ",&t,&k);
 
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
printf("%i ",m[i][j]);
if (m[i][j]>max) 
{
max=m[i][j];
max==m[t][k];   
}
}
printf("\n");
}
 
system("PAUSE");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 11:12     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним.
Посмотрите здесь:
C++ Задана матрица размером М х N. Найти максимальный по модулю эле¬мент матрицы
Переставить строки и столбцы матрицы чтобы максимальный по модулю элемент был расположен на пересечении К - той строки и К - того столбца. C++
Нужно найти максимальный элемент в первой строке матрицы и переставить столбцы так, чтоб он оказался в первом столбце C++
C++ Переставить строки и столбцы для того чтобы максимальный элемент оказался в верхнем левом углу
Переставить столбцы матрицы по возрастанию элементов первой строки C++
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный эле C++
C++ В матрице найти максимум и минимум, переставить столбцы и строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 11:30     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. #2
Dimonik92,
C++
scanf_s("%d", &t);
scanf_s("%d", &k);
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 11:31     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. #3
Цитата Сообщение от Dimonik92 Посмотреть сообщение
max=m[i][j];
max==m[t][k];
вот здесь явно ошибочка. Во-первых, видимо опечатка со сравнением max и m[t][k], во-вторых зачем вы присваиваете max два раза подряд разные значения? В-третьих, вы тут перемещаете не строки и столбцы, а просто один элемент матрицы.
Думаю стоит просто менять местами две соседних строки, пока максимум не окажется в нужной строке, потом так же столбцы.
Dimonik92
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 26
14.11.2013, 11:36  [ТС]     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. #4
Добавлено через 3 минуты
Angeline, дак,вот как,можете подсказать,если не сложно,даже написать и еще где ошибки,пожалуйста
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 11:42     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. #5
Цитата Сообщение от Dimonik92 Посмотреть сообщение
даже написать
даже написать вам могут за деньги в соответствующем разделе форума.

а вообще это читать невозможно, во первых вставьте код в теги кода, во вторых расставьте отступы.
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 11:52     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. #6
Dimonik92, кстати, используйте теги для кода, становится читабельнее сильно.
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
void peremeshenie(int maxi, int maxj,int t, int k, int* matrica[10][10])
{
if (maxi<t-1)
{
for (int i=t; i<maxi; i--)
{
for (j=0; j<10; j++)
{
int intserve=matrica[i][j];
matrica[i][j]=matrica[i-1][j];
matrica[i-1][j]=intserve;
}
if (maxj<k)
{for (int j=t; j>maxj; j--)
{
for (int i=0; i<10; i++)
{
int intserve=matrica[i][j];
matrica[i][j]=matrica[i+1][j];
matrica[i+1][j]=intserve;
}
}
else
{
for (int j=t; j<max; j++)
{
for (i=0; i<10; i++)
{
int intserve=matrica[i][j];
matrica[i][j]=matrica[i-1][j];
matrica[i-1][j]=intserve;
}
else
{for (int j=t; j>maxj; j++)
{
for (int i=0; i<10; i++)
{
int intserve=matrica[i][j];
matrica[i][j]=matrica[i+1][j];
matrica[i][j]=intserve;
}
}
Добавлено через 1 минуту
Вот что-то набросала, за опечатки и недоисправленные после копирования циклы ответственности не несу.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 12:26     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. #7
Angeline,
когда i = 9, i+1 = 10, а это выход за пределы массива
C++
matrica [i + 1 ][ j ]= intserve;
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 12:33     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. #8
programina, я там запуталась в копипастах малость, вижу что даже не малость, но вообще предполагается, что if (maxi<t) переместить строчку вниз. Если t находится в пределах матрицы, то нет выхода за пределы массива. А если t где-то за пределами, то туда и строку не передвинешь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2013, 00:19     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним.
Еще ссылки по теме:
Найти максимальный по модулю элемент матрицы C++
C++ Найти максимальный по модулю элемент матрицы..
C++ Найти максимальный по модулю элемент матрицы
C++ Найти максимальный по модулю элемент матрицы
C++ Найти максимальный по модулю элемент матрицы

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

Или воспользуйтесь поиском по форуму:
Dimonik92
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 26
16.11.2013, 00:19  [ТС]     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним. #9
Angeline, programina, короче я вам скажу что от вас обеих помощи..как от козла молока!
Yandex
Объявления
16.11.2013, 00:19     Найти максимальный по модулю эле¬мент матрицы и переставить строки столбцы с ним.
Ответ Создать тему
Опции темы

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