Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2011, 22:15   #1
Darknes
Пользователь
 
Аватар для Darknes
 
Регистрация: 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++;}
Darknes вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка Шелла и Шейкер-сортировка 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