![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.06.2010
Сообщений: 40
|
![]()
Вот код :
#include "stdafx.h" #include <iostream> #include<fstream> using namespace std; void sliv(int a[], long lb, long split, long ub); void Sort(int a[], long lb, long ub); void Sort(int a[], long lb, long ub) { long splitter; if (lb < ub) { splitter = (lb + ub)/2; Sort(a, lb, splitter); Sort(a, splitter+1, ub); sliv(a, lb, splitter, ub); } } void sliv(int a[], long lb, long split, long ub) { long pos1=lb; long pos2=split+1; long pos3=0; int *temp = new int[ub-lb+1]; while (pos1 <= split && pos2 <= ub) { if (a[pos1] < a[pos2]) temp[pos3++] = a[pos1++]; else temp[pos3++] = a[pos2++]; } while (pos2 <= ub) temp[pos3++] = a[pos2++]; while (pos1 <= split) temp[pos3++] = a[pos1++]; for (pos3 = 0; pos3 < ub-lb+1; pos3++) a[lb+pos3] = temp[pos3]; } int main() { int n; ifstream in_y("y.txt"); in_y>>n; ofstream out_z("z.txt"); char X[255][255]; ifstream in_x("x.txt"); for(int p=0;p<n;p++) for(int k=0; ; k++) { in_x>>X[p][k]; if(X[p][k]==',') break; } char Number[255][255]; for(int p=0;p<n;p++) for(int k=0; ; k++) { if(X[p][k]==',') {Number[p][k]=' '; break;} else Number[p][k]=X[p][k]; } char x[255]; int u; int *t=new int [n]; for(int k=0; k<n; k++) {for(int p=0;p<255;p++) { x[p]=Number[k][p]; } sscanf(x,"%d",&u); t[k]=u; } for(int k=0; k<n; k++) cout<<t[k]<<' '; cout<<'\n'; Sort(t,0,n-1); for(int k=0; k<n; k++) out_z<<t[k]<<" "; cout<<"Otsortirovannaya posledovatelnost:\n"; for(int k=0; k<n; k++) cout<<t[k]<<' '; cout<<'\n'; int v=0; for(int k=0; k<n; k++) {if(t[k]==t[k+1]) v++;} cout<<"Kolichestvo neodinakovih chisel v faile:\n"; cout<<v<<"\n"; delete [] t; } Все сортирует норм но вот загвоздка в том что я немогу посчитать количество разных чисел из файла подскажите плз какое условие влипить вместо этого: for(int k=0; k<n; k++) {if(t[k]==t[k+1]) v++;} |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка Шелла и Шейкер-сортировка | AleksandrMakarov | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 11.03.2012 12:18 |
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. | lenny_24 | Помощь студентам | 2 | 17.04.2011 18:57 |
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца | немозг | Помощь студентам | 11 | 06.02.2010 21:57 |
Сортировка методом линейного выбора и "быстрая" сортировка | Карол | Помощь студентам | 4 | 27.09.2009 19:52 |
Сортировка файлов в Explorer vs сортировка в Delphi | mutabor | Общие вопросы Delphi | 11 | 04.09.2009 14:32 |