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

Неправильно работает сортировка матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считывание чисел из файла и запись их в массив http://www.cyberforum.ru/cpp-beginners/thread439301.html
Имеется файл txt со следующей строкой: ght# 1, nkat= 8, str= 1.00000, lmv= 0.5000 0.0001 0.0001 (reduced coord) ght# 2, nkat= 8, str= 1.00000, lmv= 0.4500 0.0002 0.0002 (reduced coord) ght# 3, nkat= 8, str= 1.00000, lmv= 0.4000 0.0003 0.0003 (reduced coord) Требуется считать из этого файла последние три цифры из каждой строки (т.е. из первой 0.5000, 0.0001, 0.0001 и т.д.)...
C++ Как написать такое явное преобразование из double в unsigned long int как написать такое явное преобразование из double в unsigned long int??? спасибо всем кто поможет... http://www.cyberforum.ru/cpp-beginners/thread439299.html
C++ Обработка числовых последовательностей.
:cry: Тема называется "Обработка числовых последовательностей!"Напишите пожалуйста программу на Visual C++(((((( Даны натуральные числа A1,A2,A3,... . Признак конца последовательности 0. Определить: min (A1+A2, A2+A3, ...) Прошу помогите,буду очень благодарна!:curtsy: Лейсан Сладкая, читаем правила Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и...
Объект класса без аргументов и с ними C++
Доброго времени суток. Можно ли сделать так, чтобы: 1. объект класса, вызванный без аргументов, возвращал некое значение, которое в нем содержится. 2. объект класса, вызванный с аргументами, присваивал это значение своей закрытой переменной. У меня закрытый символьный массив prarr и конструктор: class params { prarr; public: params(char *str=""); //...
C++ Найти средне арифметическое каждого рядка матрицы http://www.cyberforum.ru/cpp-beginners/thread439290.html
Дано матрица A(i,j) (i=1,...,M; j=1,....,N) Найти средне арифметическое каждого рядка. Чет никак не пойму, буду очень благодарен за помощь.
C++ что значит !a и a%=(c+10) и как это записать? что значит !a и a%=(c+10) и как это записать? заранее благодарен... подробнее

Показать сообщение отдельно
машечка
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 29

Неправильно работает сортировка матрицы - C++

01.02.2012, 20:15. Просмотров 352. Ответов 2
Метки (Все метки)

помогите разобраться с программой... у меня неправильно работает сортировка, сортирует не до конца, и еще нужно сделать чтоб сортировал по возрастанию а не по убыванию
вот весь код программы
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// 7.1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
 
void main()
{
     int x[10][10];
     int m,               
          n,              
          k=0,
          i,j,
          K;          
 
          printf("\n Vvedite kolichestvo strok : ");
          scanf("%d",&m);
          printf("\n Vvedite kolichestvo stolbcov : ");
          scanf("%d",&n);
     
 
          
 
          printf("\n Vvedite matricu\n\n");
          for (i=0; i<m; i++)
               for (j=0; j<n; j++)
               {
                    printf("A[%d][%d]= ",i,j);
                    scanf("%d",&(x[i][j]));
               }
 
 
          printf("\n");
          printf("vveden massiv \n");
 
          for(i=0;i<m;i++)
          {
               for (j=0;j<n;j++)
                    printf("%d ",(x[i][j]));
                    printf("\n");
          }
          
          K=0;
               for (j=0; j<n; j++) 
          {
               int f=1;
               for (i=0; i<m; i++)
                    if (x[i][j] == 0)
                    { 
                         f=0; 
                         i=m; 
                    }
               if (f==1) 
               {
                    K++;
               }
               }
          printf("\n Kolichestvo nenulevyh stolbcov : %d",K);
          printf("\n");
     
          int s[10];
          for (i=0; i<m;i++)
          s[i]= 0;
                            
 
for (i=0; i<m; i++) 
{
for (j=0; j<n; j++) 
if (x[i][j]>0 && x[i][j]%2==0) s[i] += x[i][j];
}
printf ("\n");
for (i= 0; i<m; i++)
printf("s=%d ", s[i]);
 
int max, tmp;
for(i=0; i<m; i++) 
{
        max=i;
        for(j=i+1; j<n; j++)
                if(s[j]>s[max])
                        max=j;
        for(j=0; j<n; j++)
        {
                tmp=x[i][j]; x[i][j]=x[max][j]; x[max][j]=tmp;
        }
}
printf("\n");
printf("\n");
printf("poluchen massiv \n");
printf("\n");
for(i=0;i<m;i++)
{
    for (j=0;j<n;j++)
                printf("%d ",(x[i][j]));
    printf("\n");
}
 
getch();
}
вот это место нужно переделать
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
int max, tmp;
for(i=0; i<m; i++) 
{
        max=i;
        for(j=i+1; j<n; j++)
                if(s[j]>s[max])
                        max=j;
        for(j=0; j<n; j++)
        {
                tmp=x[i][j]; x[i][j]=x[max][j]; x[max][j]=tmp;
        }
}
printf("\n");
printf("\n");
printf("poluchen massiv \n");
printf("\n");
for(i=0;i<m;i++)
{
    for (j=0;j<n;j++)
                printf("%d ",(x[i][j]));
    printf("\n");
}
 
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru