entertp Opublikowano 2 Grudnia 2008 Zgłoś Opublikowano 2 Grudnia 2008 (edytowane) 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 który 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 Edytowane 2 Grudnia 2008 przez entertp Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 3 Grudnia 2008 Zgłoś Opublikowano 3 Grudnia 2008 najprościej, posortować i wziać pierwszą drugą, i dwie ostatnie... ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
entertp Opublikowano 3 Grudnia 2008 Zgłoś Opublikowano 3 Grudnia 2008 Najprościej z tablica ale my jescze tablic ie mamy i ja nie umiem dokładnie więc zzostaly warunki a wskaznikami też niee bo też nie mieliśmy może ktoś ma jakeis pomysly? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
shooter Opublikowano 4 Grudnia 2008 Zgłoś Opublikowano 4 Grudnia 2008 najprościej, posortować i wziać pierwszą drugą, i dwie ostatnie... ;)może i najprosciej, ale zlozonosc przy dobrych wiatrach bedzie n*logn a w wypadku szukania min, max - liniowa Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 4 Grudnia 2008 Zgłoś Opublikowano 4 Grudnia 2008 (edytowane) w dobie .neta Ty się zastanawiasz czy posortować n liczb wprowadzonych przez użytkownika czy nie? ;) entertp, no to skoro tablic nie znasz, to zrób jak pisałeś wcześniej, wprowadź 2 dodatkowe zmienne. Ustal na początek max1=max2=-INF Przy wprowadzaniu sprawdzaj, czy 'a' jest większe niż max1, jeśli jest to czy jest wieksze niż max2 -> max2=a, max1= max2; jeśli nie to max1 = a; podobnie dla min i będzie działać. napisz algorytm dokładnie tak, jak sam byś to rozwiązywał, zapisując operacje jeśli to to... jesli nie to... za pomocą if, else Edytowane 4 Grudnia 2008 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
entertp Opublikowano 4 Grudnia 2008 Zgłoś Opublikowano 4 Grudnia 2008 Może ktoś podać mi jak będzie wyglądał te warunki w pętli? Będę wdzięczny niech ktos napisze bo ja nie rozumiem jak to można wszystko ogarnąć i zapiać w języku programowania zrozumcie mnie. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 5 Grudnia 2008 Zgłoś Opublikowano 5 Grudnia 2008 varn,a,max1, max2,min1, min2:integer;beginmax1 = max2 = -10000; // tu wstawić najmniejszą liczbę intmin1 = min2 = 10000; // jak wyzej ino największąwriteln('podaj ile liczb');readln(n);l:=0;repeatwriteln('podaj liczbe');readln(a); if a>max1 then // jesli a > niż mniejsza z najwiekszych if a>max2 then // jesli jest takze wieksza niz najwieksza obecnie begin max1:= max2; // mniejsza najwieksza = dotychczas najwieksza max2:= a; // nowa najwieksza to 'a' end else // nie jest wieksza niz obecnie najwieksza;] max1:= a; else if a<min1 then if a<min2 then begin min1:= min2; min2:= a; end else min1:= a;inc(l);until(l=n-1); writeln('liczby w kolejnosci rosnacaej: 'min2,' ', min1,' ', max1,' ', max2); readln;end. nie daje głowy ze działa... ale punt wyjscia jest ;] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...