#include "stdafx.h"
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
void QuickSort(int l, int h);
int Partition(int l, int h);
int main()
{
ifstream fin;
string str;
fin.open("cisla.txt");
int count=0;
for(;getline(fin,str)!=0;count++);
cout << "pocet riadkov: " << count;
cout << "\n";
int *I = new int [count];
int *pole = I;
ifstream subor ("cisla.txt");
for (int i=0;i<count;i++)
{
subor>>pole[i];
}
subor.close();
QuickSort(0, count-1);
ofstream subor2 ("output.txt");
int a;
for (a=0;a<count;a++)
{
subor2<<pole[a];
subor2<<"\n";
}
subor2.close();
delete[] pole;
return 0;
}
void QuickSort(int l,int h)
{
int pivot;
if(l < h)
{
pivot = Partition(l ,h);
QuickSort(l ,pivot - 1);
QuickSort(pivot + 1, h);
}
}
int Partition(int l, int h)
{
int ht ,lt, pivot;
pivot = pole[l];
while(h > l)
{
ht = pole[h];
while(pivot < ht)
{
if(h <= l) break;
h--;
ht = pole[h];
}
pole[l] = ht;
lt = pole[l];
while( pivot > lt)
{
if(h <= l) break;
l++;
lt = pole[l];
}
pole[h] = lt;
}
pole[l] = pivot;
return l;
}
Zdravím potrebujem poradiť:_) vo funkcii Partition je riadok pivot = pole[l]; keď to chcem skompilovať prekladač mi vypíše chybu že "pole" nieje definované zaujímalo by ma prečo ?? čumím nato a fakt ma nič nenapadlo :-(
Ďakujem :)