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

Упорядочить строки матрицы по возростанию их максимальных элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка строки http://www.cyberforum.ru/cpp-beginners/thread204225.html
Помогите решить задачи 1. Дана строка текста, в которой слова разделены пробелами и двоеточиями. Необходимо: - определить количество слов в строке и вывести на экран слова, количество букв у которых нечетное; - найти самое короткое слово в строке, которое заканчивается на букву «а»; - исключить из строки все слова, которые заканчиваются на букву «а» и вывести текст, который остался. 2....
C++ C++ в Delphi Всем привет!Проблема такова - есть код на с++, очень нужно преобразовать его в паскаль. Си я знаю плохо, поэтому на преобразование может потребоваться приличное время. typedef struct _ATTR_RECORD { /*0x00*/ ATTR_TYPES type; //тип атрибута /*0x04*/ USHORT length; //длина заголовка; используется для перехода к //следующему атрибуту /*0x06*/ USHORT Reserved; /*0x08*/ ... http://www.cyberforum.ru/cpp-beginners/thread204221.html
C++ Как сделать через функцию???
#include <math.h> #include <conio.h> #include <iostream.h> void main() { clrscr(); float a,b,c,x1,x2,x3,y1,y2,y3,P,S,p; { cout<<"Vvedit tochky A(";
Обработка двумерного массива C++
Сформировать массив из столбца с максимальным произведением элементов Добавлено через 51 минуту 5 задач решил, а на этой мозги кипят уже....
C++ оператор выбора case http://www.cyberforum.ru/cpp-beginners/thread204205.html
Не могу решить задачу используя оператор выбора case. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной.
C++ Создание программых проектов Пишу проект - работа со структурой(добавление новой строки, удаление и т.д) Вот описал саму структуру в lab9.h struct proj { int y; char l; int d; int f; }; подробнее

Показать сообщение отдельно
MarKuSs
1 / 1 / 0
Регистрация: 05.12.2010
Сообщений: 14

Упорядочить строки матрицы по возростанию их максимальных элементов - C++

06.12.2010, 22:57. Просмотров 15284. Ответов 17
Метки (Все метки)

Здравствуйте!
Помогите пожалуюста разобраться в данном задании
"Дана матрица NxM.Упорядочить её строки по возростанию их максимальных элементов"

вот мой код, но программа не работает, можете показать где у меня допущена ошибка и обьяснить работу 3-ей части программы, т.е "Построение строк матрицы по возрастанию их максимальных членов". Заранее большое спасибо.


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
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
int *b;
int i,j,n,m,k,g,t;
 
 
//--- Ввод двумерного динамического массива NxM
 
 
cout <<"Vvedite kolichestvo strok (N): ";
cin >> n;
cout <<"Vvedite kolichestvo stolbcov (M): ";
cin >> m;
 
//--- Выделение памяти
int **massiv = new int*[n];
for(k= 0; k < n; k++)
massiv[k] = new int[m];
 
//--- Тут massiv[i][j]
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
{
cout <<"s["<<i<<"]["<<j<<"]:";
cin >> massiv[i][j];
}
// --- Построение строк матрицы по возрастанию их максимальных членов
 
for (i=0;i<n;i++)
{
b[i]=massiv[i][0];
for (j=1;j<m;j++)
if (massiv[i][j]>b[i]) b[i]=massiv[i][j];
}
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if (b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
for (g=0;g<m;g++)
{
t=massiv[i][g];
massiv[i][g]=massiv[j][g];
massiv[j][g]=t;
}
} 
// --- Вывод двумерного массива NxM
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
cout <<setiosflags(ios::fixed)<<setw(10) <<setprecision(3)<<
massiv[i][j]<<
" ";
cout<<endl;
}
 
 
//--- Освобождение выделенной памяти
for (int s = 0; s <n; s++)
delete[]massiv[s];
delete[]massiv;
 
return 0;
}
Добавлено через 21 час 46 минут
Вот немного подкоректировал код, но при подсчете программа выбивает ошибку

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
#include <iostream.h>
#include <iomanip.h>
 
int main()
{
int n,m,i,j,k;
double t;
// Ввод размерности массива
cout << "Vvedite razmer n m" << endl;
cin >> n >> m;
 
// Выделение памяти под массив
double  **umas2;
umas2=new double*[n];  
for(i=0; i<n; i++) 
umas2[i]=new double[m];
 
// Тут ввод массива
for (i=0; i<n; i++) 
for (j=0; j<m; j++) 
{
cout << "Vvedite umas2[" << i << "][" << j << "]: " ;
cin >> umas2[i][j];
}
 
// Выделение памяти под массив b
double  *b;
b=new double[n]; 
 
    
 
// Действия
for (i=0; i<n; i++) 
{
              
b[i]=umas2[i][0];
for (j=1;j<m;j++)
if (umas2[i][j]>b[i]) b[i]=umas2[i][j];
}
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if (b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
for (k=0;k<m;k++)
{
t=umas2[i][k];
umas2[i][k]=umas2[j][k];
umas2[j][k]=t;
}
}
 
//  Вывод на экран
for (i=0; i<n; i++) 
{
for (j=0; j<m; j++) 
cout << setw (9) << umas2[i][k] << " "; 
cout << endl;
}
 
// Очистка выделенной под umas2 памяти
for(i=0; i<n; i++) 
delete []umas2[i];
delete []umas2;
umas2=NULL;
 
// Очистка выделенной под b памяти
delete []b; 
b=NULL;
return 0;
}
Добавлено через 1 час 52 минуты
up
нет ни малейшей идеи

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