sopel02
(Sopel02)
9 Maj 2009 16:55
#1
Witam wszystkich. Słuchajcie mam mały problem z programikiem dev d++. Chciałem zrobić tak aby liczby zostały posortowanie od największej do najmniejszej ale niestety mi nie wychodzi. Nie wiem co robie źle. Błagam pomóżcie, to mój kod programu z góry dzięki pozdro. Co mam tu poprawić aby działało poprawnie
#include
#include
#include
using namespace std;
const int N = 10;
main()
{
int d[N],i,j,pmax;
srand((unsigned)time(NULL));
for(i = 0; i < N; i++) d = rand() % 100;
for(i = 0; i < N; i++) cout << setw(4) << d _;_
cout << endl;
for(j = 0; j > N + 1; j++)
{
pmax = j;
for(i = j - 1; i > N; i–)
if(d < d[pmax]) pmax = i;
swap(d[pmax], d[j]);
}
cout << “Po sortowaniu:\n\n”;
for(i = 0; i < N; i++) cout << setw(4) << d _;_
cout << endl;
system(“PAUSE”);
}
nr47
(Sawyer47)
9 Maj 2009 17:05
#2
Warunki w pętlach for nie mają sensu. Zewnętrzna pętla nie wykona się ani razu, bo warunek 0 > N + 1 jest zawsze fałszywy.
maestro27
(Mateusz Matejczyk)
9 Maj 2009 17:10
#3
Wewnętrzna też się nie wykona, również do poprawienia
Leogict
(Kanaliaon)
11 Maj 2009 15:07
#4
dumdum
(Zenstr)
11 Maj 2009 18:04
#5
Albo zobacz ten popaprany kod.
#include
void Posortuj(int &temp,int Tablica[11]);
using namespace std;
int main()
{
int temp = 0,Tablica[11] = {0};
for(int WpiszLiczby = 0;WpiszLiczby<10;WpiszLiczby++)
{
cout<< "wprowadz liczbe nr. "<< WpiszLiczby+1<<"\n\n";
cin>>Tablica[WpiszLiczby];
if(cin.fail())
{
return 0;
}
}
Posortuj(temp,Tablica);
system("pause");
return 0;
}
//---------------------------------------------------------------------------
void Posortuj(int &temp,int Tablica[11])
{
for(int aa=0;aa<10;aa++)
{
if(Tablica[0]> Tablica[aa])swap(Tablica[aa],Tablica[0]);
}
printf("\nDane po posortowaniu\n");
for(int a1 = 0;a1<10;++a1)
{
temp = Tablica[0];
for(int aa=0;aa<10;aa++)
{
if(Tablica[0]< Tablica[aa])swap(Tablica[aa],Tablica[0]);
}
printf("%d\n",Tablica[0]);
Tablica[0] = temp;
}
}
Niby sortuje od największej do najmniejszej