Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 3.923 pregleda

Najnovija ↓

Ispisivanje najmanjeg broja. 05.12.2014. u 22:42 · pre 144 meseca
izmenjeno 2 puta, poslednji put Flamethrower 05.12.2014. u 23:28
  1. Flamethrower05.12.2014. u 23:28zapis iz teksta poruke
  2. Flamethrower05.12.2014. u 23:28zapis iz teksta poruke
#1
Pozdrav svima.

Ukratko , moram da napišem program u kojem od nekoliko nepoznatih ( n brojeva ) brojeva x, da program napiše koji od tih brojeva je najmanji.
Program izgleda ovako;


PROGRAM najmanjibroj1;
VAR
x,i,n,min:integer;
BEGIN
min:=0;
writeln('Unesi broj n');
read(n);
FOR i:=2 TO n DO
BEGIN
writeln('Unesi brojeve x');
read(x);
?
?
?
END;
writeln('min=',min);
readln(i);
END.

Znači , imam nekoliko brojeva x, tačnije n tih brojeva x. Kada ubacim koliko tih brojeva ima, treba da ispišem te brojeve x. Na primjer, ubacim 3 za n ( može ih biti 10 ), znači imam 3 nepoznate x. Od te 3 nepoznate, program treba da ispiše koji od te 3 su najmanje. U djelu sa upitnicima treba da iskoristim komandu IF. Problem je u tome ne znam kako da to zapišem, pa ako je neko voljan da pomogne bilo bi dobro jer želim da shvatim ovo.

Hvala unaprijed.
Re: Ispisivanje najmanjeg broja. 05.12.2014. u 23:10 · pre 144 meseca #2
Uzmes neku dodatnu promenljivu (vidim ti si je nazvao min), njoj ili dodelis najveci moguci broj (MaxInt) ili prvi iz liste i onda prodjes kroz ostatak liste i kada je broj iz liste manji od min, dodelis ga min, tako da ce na kraju petlje min sadrzati najmanji broj. Kod otprilike ide ovako:

Code:

var
  TempMin: Integer;
  i: Integer;
  ListaBrojeva: array of Integer;
begin
   // Ovde alociras i uneses sve brojeve u niz ListaBrojeva

  TempMin := MaxInt; // Dodelis najveci moguci broj
  
  for i := 0 to High(ListaBrojeva) do 
  begin
    if ListaBrojeva[i] < TempMin then
      TempMin := ListaBrojeva[i];
  end;

  WriteLn('Najmanji broj je: ', TempMin);
end;
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Ispisivanje najmanjeg broja. 05.12.2014. u 23:45 · pre 144 meseca #4
Pretpostavljam da je ovo neki zadatak za skolu, ne verujem da bi profesor informatike inisistirao na imenovanju promenljivih, u svakom slucaju
TempMin nije komanda vec promenljiva, ti je mozes nazvati kako god zelis, kao sto sam ti rekao mozes koristiti i min.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Ispisivanje najmanjeg broja. 05.12.2014. u 23:49 · pre 144 meseca #5
Nije mi jasno korištenje ove promjenive ListaBrojeva: array of Integer; i na način na koji si ti napisao cjeli ovaj kod.

Ako može malo da mi detaljnije pojasniš.
Re: Ispisivanje najmanjeg broja. 06.12.2014. u 00:18 · pre 144 meseca #6
ListaBrojeva je dinamički niz, niz čija se dužina može menjati u toku izvršavanja prograrama, (može biti 5, 10 ili 100...) nasuprot tome je statički niz, niz čija je veličina i broj elemenata unapred određen, npr ListaBrojeva: array[0..50] of Integer može imati samo 51 element (od 0 do 50), ne 100.
E sad ne znam šta ti možeš koristiti, da li Delphi, ili TurboPascal. Ako je Delphi onda koristi array of Integer, ako je TurboPascal onda koristi statički niz (može se i tamo emulirati dinamički niz ali je to malo naprednija tehnika koju verovatno niste radili).

Elem ako je dinamički niz onda bi unos išao ovako:

Code:

var
  ListaBrojeva: array of Integer;
  i, n: Integer;
begin
  ReadLn(n); // Broj elemenata niza
  SetLength(ListaBrojeva, n);

  for i := 0 to High(ListaBrojeva) do
    ReadLn(ListaBrojeva[i]); // Unose se pojedini elementi niza
end;

Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Ispisivanje najmanjeg broja. 06.12.2014. u 13:07 · pre 144 meseca #7
Mi radimo u DEV-Pascalu , Turbo Pascal i Dephi nismo još ni zagrebali. Ovde ti si upotrebio neke stvari koje još nismo radili. Takođe za Array of Integer; pokazuje sintaksnu grešku, to jest: Syntax Error, [ expected but OF found jer radim u drugom programu, to jest DEV Pascalu.

Re: Ispisivanje najmanjeg broja. 06.12.2014. u 14:10 · pre 144 meseca #8
Malo sam ti modifikovao algoritam tako da bi ovo trebalo da radi

Code:

PROGRAM najmanjibroj1;
 VAR
 x,i,n,min:integer;
 BEGIN
   writeln('Unesi broj n');
   read(n);
   writeln('Unesi brojeve x');
   read(min);
   FOR i:=2 TO n DO
   BEGIN
     writeln('Unesi brojeve x');
     read(x);
     IF x<min THEN min:=x;
   END;
   writeln('min=',min);
 END.
end.


Naravno ode moras da imas bar jedan element unet jer nema smisla traziti minimum bez elemenata.

Re: Ispisivanje najmanjeg broja. 06.12.2014. u 14:28 · pre 144 meseca #9
Hvala na pomoći, program radi. Problem je bio što ja nisam dobro napisao dio sa komandom IF i nisam dobro postavio promjenjivu min.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme