0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 18
|
|
1 | |
проблемы с сортировкой пузырьком10.03.2013, 10:51. Показов 468. Ответов 4
Метки нет Все метки)
(
собственно сабж
проблема заключается в том, что программа сортирует ЧАСТЬ массива. Допустим, надо отсортировать каждый столбец по уменьшению значения суммы цифр каждого элемента. Так программа правильно отсортировывает 14 элементов из 16, а 2 стоят в неправильном порядке. Не могу понять, наверное где-то в цикле ошибка. Помогите, люди! Код
// moiproject.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "iostream" #include "conio.h" #include "iostream" #include <time.h> using namespace std; int mas[100][100]; int i,j,k,n,m,l; int arr[100][100]; int srav1=0; int per1=0; int Sum ( int N ) { int d, sum = 0; while ( N != 0 ) { d = N % 10; sum = sum + d; N = N / 10; } return abs(sum); } int _tmain(int argc, _TCHAR* argv[]) { cout<< ("Vvedote strok:\n"); scanf("%4i",&m);//кол-во строк cout<< ("Vvedote stolbcov:\n"); scanf("%4i",&n);// кол-во столбцов srand(time(0)); for (i=0; i<m; i++) { for (j=0; j<n; j++) { mas[i][j]=rand()%99-50; } } //Заполняем массив arr данными из mas for (int i=0; i<m; i++) { for (int j=0; j<n; j++) { arr[i][j]=mas[i][j]; } } for (int i=0; i<m; i++) { for (int j=0; j<n; j++) { printf("%4i", arr[i][j]); } cout<<"\n"; } cout<<"\n"; printf("_____________________________\n"); for (j=0 ; j<n; j++)//j-stolbec// { for (k=0 ; k<m-1; k++)//i-строчка// { for (i=0; i<m-k-1; i++) { if (Sum(arr[i][j])<(Sum(arr[i+1][j]))) { int temp=arr[i][j]; arr[i][j]=arr[i+1][j]; arr[i+1][j]=temp; per1++; l++; } srav1++; } if (l==0) {break;} l=0; l--; } l=k; } for (int i=0; i<m; i++) { for (int j=0; j<n; j++) { printf("%4i", arr[i][j]); } cout<<"\n"; } cout<<"\n"; printf("Kol-vo perestanovok - "); printf("%i\n",per1); printf("Kolitchstvo sravnenii- "); printf("%i\n",srav1); system("pause"); }
0
|
|
10.03.2013, 10:51 | |
Ответы с готовыми решениями:
4
Проблемы с быстрой сортировкой Проблемы с поразрядной сортировкой msd
|
80 / 68 / 31
Регистрация: 10.05.2011
Сообщений: 284
|
||||||
10.03.2013, 11:12 | 2 | |||||
По моему Пузырёк
0
|
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 18
|
|
10.03.2013, 11:24 [ТС] | 3 |
Да даже если так то все равно неправильно сортирует
0
|
80 / 68 / 31
Регистрация: 10.05.2011
Сообщений: 284
|
|
10.03.2013, 11:37 | 4 |
1
|
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 18
|
|
10.03.2013, 11:47 [ТС] | 5 |
да, кстате, ты оказался прав, но тогда мне надо как то подсчитывать сравнения
0
|
10.03.2013, 11:47 | |
10.03.2013, 11:47 | |
Помогаю со студенческими работами здесь
5
Проблемы с "Быстрой сортировкой" Проблемы с сортировкой в TTable Проблемы с сортировкой в подставляемых полях. AdoDataSet Заменить сортировку вставками сортировкой пузырьком Отсортировать пузырьком вставками и своей сортировкой массив Проблемы с сортировкой..... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |