Форум программистов, компьютерный форум, киберфорум
Наши страницы

Сортировка массива, по возрастанию на главной диагонали - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ char* rev_str(char*); Как обратиться из main()? http://www.cyberforum.ru/cpp-beginners/thread619788.html
Подскажите пожалуйста: ниже приведе прототип функции. Как правильно обратиться к такой функции и что она вернет? По замыслу нужно вернуть строку(или адрес начала или указатель на 0 элемент.. Как то...
C++ Отсортировать масив методом пузырьковой сортировки 1). Создать 2 массива по 5 элементов. Заполнить их случайными числами и отсортировать первый в возрастающем порядке, а второй в убывающем. 2). Скопировать эти массивы в 3-й результирующий (размером... http://www.cyberforum.ru/cpp-beginners/thread619745.html
Конкатенация без <string> C++
Продемонстрируйте работу с указателями. Напишите полностью законченную функцию конкатенации (сложения) двух строк (char *). Использовать функции для работы со строками НЕЛЬЗЯ. С чего хоть...
C++ Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела
Помогите,пожалуйста ) Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела, если это шар диаметра А. ...
C++ Не выводиться последний символ файла http://www.cyberforum.ru/cpp-beginners/thread619726.html
файл содержит по числу на строке 123 456 789 0 на экран почему то выводит все кроме 0 #include <iostream> #include <istream> #include <fstream>
C++ Как првильно организовывать передачу значений (переменных, векторов) между функциями класса? Допустим есть класс. В классе есть одна публичная функция и две приватных. В публичной функции запускается сначала одна приватная, а затем вторая приватная. В первой приватной вычисляется, например,... подробнее

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

Сортировка массива, по возрастанию на главной диагонали - C++

05.07.2012, 22:28. Просмотров 1536. Ответов 2
Метки (Все метки)

Условие программы которую нужно написать на с:
путем перестановки квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу, следующий по величине - в позиции (2,2), следующий по величине в (3,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
73
74
75
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
/*
* 
*/
int main(int argc, char** argv) {
float arr[100][100];
float nov[100][100];
int i, j, k, s, n, p, t, min, kr;
 
k=0;
float max;
float sred, lm;
FILE *fl;
printf("BBedite razmer kvadratnoy matrici n = ");
scanf("%d", &n);
printf("\n");
fl=fopen("text.txt", "r");
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
fscanf(fl, "%f", &arr[i][j]);
fscanf(fl, "%f", &nov[i][j]);
}
}
printf("\n");
 
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
printf("%1.f ", arr[i][j]);
}
printf("\n");
}
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
if(arr[i][j]<0){
k+=1;
}
}
if(k!=n){
k=0;
 
}
else{
s=i;
break;
}
}
 
printf("stroka pod nomerom %d imeet vse oricatelnye elementy\n", s);
float tmp=arr[1][1];
 
 
for(i=1; i<=n; i++){
for(j=1;j<=n;j++){
if(nov[i][j]>tmp){
lm=tmp;
tmp=nov[i][j];
nov[i][j]=lm;
}
}
}
 
 
 
 
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
printf("%1.f ", arr[i][j]);
}
printf("\n");
} 
return (EXIT_SUCCESS);
}
Знаю что косяков много, не судите строго программирую не давно так что, очень большое быдло....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru