Skocz do zawartości
entertp

Nie Wiem Jak Zrobić Ten Program W Turbo Pacsalu

Rekomendowane odpowiedzi

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 przez entertp

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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 przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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 ;]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...