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

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

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

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

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

05.07.2012, 22:28. Просмотров 1437. Ответов 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);
}
Знаю что косяков много, не судите строго программирую не давно так что, очень большое быдло....
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru