ďťż

Ładny brzuch

Otoz musze napisac program ktory umozliwi sortowanie rosnace liczb wprowadzonych do programu z klawiatury (max 20) no i mam zastosowac tablice na liczby do przechowywania wartosci wpisanych z klawiatury.
Acha ma on miec menu z opcjami:
1. wpisz ile liczb bedziesz wpisywac (max20)
2. wpisz liczby
3. sortuj rosnaco
4. wyswietl liczby posortowane
5. koniec pracy

a to sa do tej pory moj proram ktory ma bledy i nie wiem jak je poprawic
#include<stdio.h> #include<conio.h> #include<iostream.h> int tab[20]; char decyzja; main() { do { system("CLS"); cout<<"\n \n1. wpisz ile liczb bedziesz wpisywac (max 20)."; cout<<"\n 2.wpisz liczby."; cout<<"\n 3.sortuj rosnaco"; cout<<"\n 4.wyswietl liczby posortowane."; cout<<"\n 5.koniec pracy."; cin>>decyzja; switch(decyzja) { case'1': cout<<"\n wpisz ile liczb bedziesz wpisywac (max 20)"; break; case'2': cout<<"\n wpisz liczby"; { for(i=0,i<20); { cout<<"\nWpisz<<i<<"element tablicy"; cin>>liczba[i]; } int liczba[20],i; main() { for (i=o;i<20;i); cout<<"nWpisz"<<i<<"element tablicy:"; cin>>liczby[i]; } getch(); for(i-0;i<20;i) cout<<"nElement"<<i<<"tablicy="<<liczby[i]; getch(); } break; case'3': cout<<"\n sortuj"; void sortSel(int [20], int); main () { const int wTab=20; int tab[ wTab ]={1,4,7,5,100,150,9,34,-1,120}; cout<<"Tablica przed posortowaniem:\n"; wyswietlTablice(tab,wTab); sortSel(tab,wTab); cout<<"Tablica po posortowaniu:\n"; wyswietlTablice(tab,wTab); return 0;} void wyswietlTablice (int tablica [20], int wielkosc); { for(int i=0; i<wielkosc; i++) cout<<"Element tablicy:"<<(i+1)<<" Wartosc elementu:" <<tablica [i]<<endl; } void sortSel (int tablica [20], int wielkosc ) { void zmien( int [20], int, int); int min; for (int i=0; i<wielkosc; i++) { min=i; for(int j=i+1; j<wielkosc; j++) if(tablica[j]<tablica[min]) min=j; zmien(tablica,i,min);} } void zmien (int tablica [], int indeks, int indeks1); { int temp; temp=tablica[indeks]; tablica[indeks]=tablica[indeks1]; tablica[indeks1]=temp; } break; case'4': cout<<"\n wyswietl liczby posortowane"; void wyswietlTablice (int [20], int); void wyswietlTablice (int tablica [20], int wielkosc); { for(int i=0; i<wielkosc; i++) cout<<"Element tablicy:"<<(i+1)<<" Wartosc elementu:" <<tablica [i]<<endl; } void sortSel (int tablica [20], int wielkosc ) { void zmien( int [20], int, int); int min; for (int i=0; i<wielkosc; i++) { min=i; for(int j=i+1; j<wielkosc; j++) if(tablica[j]<tablica[min]) min=j; zmien(tablica,i,min);} } void zmien (int tablica [i], int indeks, int indeks1); { int temp; temp=tablica[indeks]; tablica[indeks]=tablica[indeks1]; tablica[indeks1]=temp; } break; case'5': cout<<"\n Dziekuje za wspolprace"; break; default:cout<<"nie wybralem zadnej opcji"; break; } cout<<"\n\n\n nacisnij dowolny klawisz..."; getch(); } while(decyzja!='5');
jesli ktos sie zna to prosze o pomoc



Wklejaj czytelniejszy kod na forum. Ten twój jest strasznie zagmatwany, deklarujesz funkcje w środku programu i to po kilka razy. Strasznie się namęczyłem żeby odczytać o co ci chodzi w tym programie. Poza tym są w twoim kodzie takie kwiatki jak:

for(i=o; i<20;i++)
for(i=0,i<20);
for(i-0;i<20;i)

Przeczytaj kod zanim go wyślesz na forum! A jak coś radośnie tworzysz to nie pisz od razu całego programu, tylko pisz kawałkami które można po kolei sprawdzać.
Poza tym, skoro mają zostać wykonane wszystkie etapy programu to po co dajesz je do instrukcji switch? Przecież użytkownik może zaraz na początku nacisnąć 4 i wyświetlą mu się jakieś okropne dane, na dodatek nie posortowane...

Pozwoliłem sobie przeredagować twój program i napisałem go z porządnymi deklaracjami funkcji na początku a ich kodem na końcu pliku, nie pomieszane tak jak były u ciebie:

//#include<stdio.h> //#include<conio.h> #include<iostream.h> void zmien(int[], int, int); void wyswietlTablice(int[], int); void sortSel(int[],int); int main() { int tab[20]; int ilosc; char decyzja; do { cout<<"\n \n1. wpisz ile liczb bedziesz wpisywac (max 20)."; cout<<"\n 2.wpisz liczby."; cout<<"\n 3.sortuj rosnaco"; cout<<"\n 4.wyswietl liczby posortowane."; cout<<"\n 5.koniec pracy."; cin>>decyzja; switch(decyzja) { case '1': cout<<"Ile liczb bedziesz wpisywac?"; cin>>ilosc; break; case '2': cout<<"Wpisz "<<ilosc<<" liczb."; for(int i=0; i<ilosc; i++) { cout<<"Wpisz "<<i<<" element tablicy."; cin>>tab[i]; } break; case '3': sortSel(tab,ilosc); break; case '4': wyswietlTablice(tab,ilosc); break; case '5': cout<<"\n Dziekuje za wspolprace"; break; default: cout<<"nie wybralem zadnej opcji"; break; } } while(decyzja!='5'); } void wyswietlTablice (int tablica [], int wielkosc) { for(int i=0; i<wielkosc; i++) cout<<"Element tablicy:"<<(i+1)<<" Wartosc elementu:" <<tablica [i]<<endl; } void zmien (int tablica [], int indeks, int indeks1) { int temp; temp=tablica[indeks]; tablica[indeks]=tablica[indeks1]; tablica[indeks1]=temp; } void sortSel (int tablica [], int wielkosc ) { int min; for (int i=0;i<wielkosc; i++) { min=i; for(int j=i+1; j<wielkosc; j++) if(tablica[j]<tablica[min]) min=j; zmien(tablica,i,min); } }
Użycie switch jest jednak ciągle nie na miejscu.
Użytkownik Catz edytował ten post 15 grudzień 2005, 11:04
dzieki jestes wielki :D
oto wlasnie chodzilo :lol:

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •