entertp utworzono 2 grudnia 2008 utworzono 2 grudnia 2008 Witam!! Z "Turbo Pascalem" mam dopiero do czynienia i nawet dobrze sobie radzę xD. Ale mam pewien problem z zadaniem i nie moge go rozwiązać. Chodzi o zadanie takie. Napisz program ktury pobiera n liczb(n-wpisuje uzytkownik) i wyświetla dwie liczby największe i dwie liczby najmniejsze Ja robiłem ale mi nie wychodzi zrobiłem tylko tak: var n,a,max,min:integer;beginwriteln('podaj ile liczb');readln(n); writeln('podaj liczbe'); readln(a); min:=a; max:=a; l:=0;repeatwriteln('podaj liczbe');readln(a); if max<a then max:=a else if min>a then min:=a;inc(l);until(l=n-1); writeln('największą liczbą jest',max,'a najmniejszą',min); readln;end. To jest tylko na wypisanie jednej liczby największej i najmniejszej. Myślę że może trzeba jeszcze jedną zmienną ,b' zadeklarować max2 i min2. ale nie wiem jak to zrobić może trzeba zagnieżdzić pętlę? Proszę pomuszcie mi to zadanie na 5. Niechcem dostać gotowca ale żeby ktoś mnie nakierował. Z góry bardzo dziękuję ENTER ;p ODrazu muwię że nieumiem tablic jeszcze się nieuczylismy // popraw nazwę tematu ( patrz regulamin ), naucz się pisać po polsku // luq
maciexus komentarz 2 grudnia 2008 komentarz 2 grudnia 2008 Ja w Pascalu to się średnio orientuje a nawet jestem bliski zeru, ale w części: if max<a then max:=a else if min>a then min:=a powinno być bez tego else, bo jedna liczba może być jednocześnie najmniejsza i największa. A co do twojego problemu to nie do końca wiem w czym masz problem. Jak chodzi o wczytywanie n liczb to trzeba po prostu funkce wczytującą w while'a wrzucić. Popróbuj coś z tym.
entertp komentarz 2 grudnia 2008 Autor komentarz 2 grudnia 2008 Uzytkownik podaje n liczb (tyle razy będzie się kręciła pętla) potem podaje w pętli liczby a program wypisuje najwieksze dwie liczby i najmniejsze dwie liczby próbowałem tak::: if (max<a) and (min>a) then begin max:=a; min:=a else if ( max2<max) and (min2>min) then min2:=a; max2:=a; end; to działa ale nie poprawnie . Jak ktoś będzie wiedział jak to zrobić to niech pisze będę wdzięczny . To ważne zadanie dzięki niemu będę mial ocenę bdb z programownaia a to zadanie jest trudne i za chiny jego nie moge zrobić pozdrawiam.
leggo komentarz 2 grudnia 2008 komentarz 2 grudnia 2008 No dobra potrzebujesz ok. 7 zmiennych. 1. Najpierw do 1. zmiennej pobierasz ile liczb chce wpisać użytkownik. 2. Następnie robisz pętle powtarzającą się tyle razy ile chciał user. 3. W pętli najpierw dajesz pobieranie liczby do następnej zmiennej. 4. IFem sprawdzasz czy pętla powtarza się po raz pierwszy jęsli tak, to pobraną w punkcie 3. liczbę zapisujesz do 4 zmiennych: naj_min, min, max, naj_max. Jeśli warunek w IFie nie jest spełniony to nic nie robisz. 5. Następny IF sprawdza czy zmienna z punktu 3. jest mniejsza od naj_min jeśli tak to do naj_min zapisujesz zmienną z punktu 3. W tej pętli w ELSE dajesz IFa (min<pobrana_z_3) jeśli tak to do min zapisujesz pobraną z 3. punktu, jeśli nie to nic nie robisz. 6. To samo co w punkcie 5., zmieniasz tylko naj_min na naj_max oraz min na max. 7. Tutaj zamykasz pętle z punktu 2. 8. Wypisujesz naj_min, min, max, naj_max. 9. KONIEC naj_min to najmniejsza pobrana liczba. min to prawie najmniejsza pobrana liczba. naj_max to największa pobrana liczba. max to prawie największa pobrana liczba. Sory, że tak skrótowo trochę pisałem. Mam nadzieję, że sobie poradzisz. Dokładniej to tego chyba już nie da się opisać. Jakbyś mógł używać tablice było by krócej.
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.