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

Найти наибольший элемент матрицы

06.01.2011, 02:33. Показов 4848. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Найти наибольший элемент матрицы и записать единицу в тот рядок и столбец на перекрёстке которых он содержится.Размерность матрицы вводить с клавиатуры,а элементы разместить в памяти динамически.

Проверьте плиз прогу

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 <iostream.h>
#include <stdio.h>
#include <conio.h>
void main()
{ int i,j,m,n,x,y,max;
  float a[25][25];
clrscr();
randomize();
cout<<"Vvedit rozmirnist matrici M,N";
cin>>m>>n;
float**pa;
pa=new float*[m];
for(i=0;i<m;i++)
pa[i]=new float[n];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
pa[i][j]=random(25)-10;
}
}
max=a[0][0];
for (i=0; i<m; i++)
for (j=0; j<n; j++)
if (max>a[i][j])
{
max=a[i][j];
x=i;
y=j;
}
for (i=0; i<m; i++)
a[i][y]=1;
for (j=0; j<n; j++)
a[x][j]=1;
clrscr();
cout<<"Rozmirnist Matryci m="<<m<<"n="<<n<<"\n";
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
cout<<pa[i][j];
}
}
cout<<"\nRezultaty:\n";
cout<<"Max element= "<<max<<"\n";
cout<<a[i][j];
for(i=0;i<m;i++)
delete[] pa[i];
delete[] pa;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2011, 02:33
Ответы с готовыми решениями:

Найти наибольший элемент и выбросить из матрицы строку и столбец, на пересечении которых стоит этот элемент
Дан массив mxn. Найти наибольший элемент и выбросить из массива строку и столбец на пересечении...

Найти наибольший элемент матрицы
Дана матрица А(5,3) 1. Найти наибольший элемент матрицы 2. В строке, содержащей максимальный...

Найти наибольший элемент матрицы
Задано двухмерный массив (матрицу) А размером м * х. Целые числа м и н (в виде констант) и элементы...

Найти наибольший элемент матрицы
Помогите плиз. Найти наибольший элемент матрицы |1 7 6| |0 2 3| |9 5 0|

23
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
06.01.2011, 03:18 2
Всмысле проверить? Ты её запустил? Работает? Значит ок все
А если нет, то скажи в чем проблема.
1
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
06.01.2011, 08:24 3
Цитата Сообщение от vaik00 Посмотреть сообщение
Найти наибольший элемент матрицы и записать единицу в тот рядок и столбец на перекрёстке которых он содержится
Можно тогда так:
Найти наибольший элемент матрицы и записать вместо него единицу.
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
06.01.2011, 13:29  [ТС] 4
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Можно тогда так:
Найти наибольший элемент матрицы и записать вместо него единицу.
там нужно именно рядок и столбец записать единицами чтобы получилось типа такого
0 0 0 0 1 0
0 0 0 0 1 0
1 1 1 1 х 1
0 0 0 0 1 0
0 0 0 0 1 0

И нехочет компилировать Randomize и Random т.к. говорит что есть прототипы но я их увы не знаю=\
0
13 / 13 / 4
Регистрация: 07.12.2010
Сообщений: 127
06.01.2011, 14:13 5
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
 
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctime>
using namespace std;
void main()
{ int i,j,m,n,x,y,max;
  float a[25][25];
 
cout<<"Vvedit rozmirnist matrici M,N";
cin>>m>>n;
float**pa;
pa=new float*[m];
for(i=0;i<m;i++)
pa[i]=new float[n];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
pa[i][j]=rand()%25 - 10;
}
}
max=a[0][0];
for (i=0; i<m; i++)
for (j=0; j<n; j++)
if (max>a[i][j])
{
max=a[i][j];
x=i;
y=j;
}
for (i=0; i<m; i++)
a[i][y]=1;
for (j=0; j<n; j++)
a[x][j]=1;
 
cout<<"Rozmirnist Matryci m="<<m<<"n="<<n<<"\n";
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
 
cout<<pa[i][j]<< '\t';
cout<<" "<<endl;
}
 
cout<<"\nRezultaty:\n";
cout<<"Max element= "<<max<<"\n";
cout<<a[i][j];
for(i=0;i<m;i++)
delete[] pa[i];
delete[] pa;
}
Ошибок нет, но прога "крашится"
1
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
06.01.2011, 15:48 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Ошибок нет, но прога "крашится"
См. комментарии:
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctime>
using namespace std;
void main()
{ int i,j,m,n,x,y,max;
  float a[25][25];// здесь создана матрица a[][]
 
cout<<"Vvedit rozmirnist matrici M,N";
cin>>m>>n;
float**pa;
pa=new float*[m];// здесь создана матрица pa[][]
for(i=0;i<m;i++)
pa[i]=new float[n];
for(i=0;i<m;i++)// в этих циклах заполняется значениями матрица pa[][]
{
for(j=0;j<n;j++)
{
pa[i][j]=rand()%25 - 10;
}
}
max=a[0][0];
for (i=0; i<m; i++)// а в этих циклах ищется максимальный элемент у матрицы a[][] (значения у которой не заданы)
for (j=0; j<n; j++)
if (max>a[i][j])
{
max=a[i][j];
x=i;// желательно x и y задать начальные значения равные 0, ведь ранее написано: max=a[0][0]; (а вдруг максимальный элемент находится [0][0])
y=j;
}
for (i=0; i<m; i++)// опять работаем с матрицей a[][] (значения у которой не заданы)
a[i][y]=1;
for (j=0; j<n; j++)
a[x][j]=1;
 
cout<<"Rozmirnist Matryci m="<<m<<"n="<<n<<"\n";
for(i=0;i<m;i++) // выводим на экран значения элементов матрицы pa[][] у которой значения элементов заданы, но которую мы не трогали после этого
{
for(j=0;j<n;j++)
 
cout<<pa[i][j]<< '\t';
cout<<" "<<endl;
}
 
cout<<"\nRezultaty:\n";
cout<<"Max element= "<<max<<"\n";
cout<<a[i][j];
for(i=0;i<m;i++)
delete[] pa[i];
delete[] pa;
}
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
06.01.2011, 21:01  [ТС] 7
Теперь на pa[i][j]=rand()%25 - 10; выдаёт ошибку "Function rand have a prototype" перепробывал другие рандомы тоже самое=\
0
67 / 67 / 7
Регистрация: 26.11.2010
Сообщений: 123
06.01.2011, 21:05 8
добавь библиотеку <cstdlib>
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
06.01.2011, 21:15  [ТС] 9
Увы добавляется новая ошибка т.к. отсутствует библиотека как таковая...
0
67 / 67 / 7
Регистрация: 26.11.2010
Сообщений: 123
06.01.2011, 21:19 10
а так не пробовал?!
C++
1
#include <cstdlib.h>
или
C++
1
#include <stdlib.h>
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
06.01.2011, 21:42  [ТС] 11
пробывал я просто в корневой папке компилятора смотрел такой нет...

Добавлено через 9 минут
C++
1
#include <stdlib.h>
Спасибо помогло=)

Только как то странно он матрицу создаёт пишу ему 5х5 а он мне создаёт 10х3
Оо

Добавлено через 12 минут
Всё уже исправил только непойму почему у меня всегда максимальный элемент всегда -9 и всё О_о
0
13 / 13 / 4
Регистрация: 07.12.2010
Сообщений: 127
06.01.2011, 23:09 12
Где? Киньте код
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
07.01.2011, 14:06  [ТС] 13
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctime>
using namespace std;
void main()
{ int i,j,m,n,x,y,max;
 
cout<<"Vvedit rozmirnist matrici M,N";
cin>>m>>n;
float**pa;
pa=new float*[m];
for(i=0;i<m;i++)
pa[i]=new float[n];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
pa[i][j]=rand()%25 - 10;
}
}
max=pa[0][0];
x=0;
y=0;
for (i=0; i<m; i++)
for (j=0; j<n; j++)
if (max>pa[i][j])
{
max=pa[i][j];
x=i;
y=j;
}
for (i=0; i<m; i++)
pa[i][y]=1;
for (j=0; j<n; j++)
pa[x][j]=1;
 
cout<<"Rozmirnist Matryci m="<<m<<"n="<<n<<"\n";
for(i=0;i<m;i++) 
{
for(j=0;j<n;j++)
 
cout<<pa[i][j]<< '\t';
cout<<" "<<endl;
}
 
cout<<"\nRezultaty:\n";
cout<<"Max element= "<<max<<"\n";
for(i=0;i<m;i++)
delete[] pa[i];
delete[] pa;
}

вот исправленый код...но как уже писал ранее макс элемент всегда -9 О_о
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
07.01.2011, 14:45 14
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот так попробуйте:
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctime>
using namespace std;
void main()
{ int i,j,m,n,x,y,max;
srand( time( NULL ) );
 
cout<<"Vvedit rozmirnist matrici M,N";
cin>>m>>n;
float**pa;
pa=new float*[m];
for(i=0;i<m;i++)
pa[i]=new float[n];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
pa[i][j]=rand()%25 - 10;
}
}
cout<<"Ishodnay Matryca"<<"\n";
for(i=0;i<m;i++) 
{
for(j=0;j<n;j++)
 
cout<<pa[i][j]<< '\t';
cout<<" "<<endl;
}
 
max=pa[0][0];
x=0;
y=0;
for (i=0; i<m; i++)
for (j=0; j<n; j++)
if (max<pa[i][j])
{
max=pa[i][j];
x=i;
y=j;
}
for (i=0; i<m; i++)
pa[i][y]=1;
for (j=0; j<n; j++)
pa[x][j]=1;
 
cout<<"Rozmirnist Matryci m="<<m<<"n="<<n<<"\n";
for(i=0;i<m;i++) 
{
for(j=0;j<n;j++)
 
cout<<pa[i][j]<< '\t';
cout<<" "<<endl;
}
 
cout<<"\nRezultaty:\n";
cout<<"Max element= "<<max<<"\n";
for(i=0;i<m;i++)
delete[] pa[i];
delete[] pa;
}
1
13 / 13 / 4
Регистрация: 07.12.2010
Сообщений: 127
07.01.2011, 14:47 15
У меня разные выводит, добавьте после 13-ой строки
C++
1
srand(time(NULL));
Добавлено через 26 секунд
опередили
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
07.01.2011, 15:22  [ТС] 16
а Time.h и ctime.h разные? Потому что у меня ctime отсутствует...

и почему то пишет функция Strand имеет прототип О_о
0
13 / 13 / 4
Регистрация: 07.12.2010
Сообщений: 127
07.01.2011, 15:30 17
А версия какая? И что пишет?
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
07.01.2011, 15:33  [ТС] 18
у меня Borland C++ 3.1
пишет "Function 'Stand' should have a prototype"
0
13 / 13 / 4
Регистрация: 07.12.2010
Сообщений: 127
07.01.2011, 15:38 19
Странно, при подключении ctime.h/ctime все должно работать...
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
07.01.2011, 15:42  [ТС] 20
самое странное у меня нету ctime вообще...
0
07.01.2011, 15:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2011, 15:42
Помогаю со студенческими работами здесь

Найти наибольший по модулю элемент матрицы
Здравствуйте ! задана матрица А 0.30|1.20|-0.20 -0.10|-0.20|1.60...

Найти наибольший элемент динамической матрицы
Дан двумерный динамический массив целых числел, введенных с клавиатуры, найти наибольший элемент...

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

Найти наибольший элемент побочной диагонали матрицы
В общем, наибольший элемент побочной диагонали сходит с ума, когда в 20 строке прибавляется &quot;x =...


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

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