Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Potrebna pomoc oko programa u pascalu

[es] :: Pascal / Delphi / Kylix :: Potrebna pomoc oko programa u pascalu

[ Pregleda: 2251 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Alexandar_R92
Srbija

Član broj: 239180
Poruke: 3
*.vdial.verat.net.



Profil

icon Potrebna pomoc oko programa u pascalu16.02.2010. u 16:50 - pre 172 meseci
Pozdrav...
Treba mi pomoc:
Kako da napravim program takav da od korisnika trazi broj unosa (maksimalan broj unosa 1000,unose se brojevi),zatim ako korisnik pri unosu upise broj koji je vec negde prethodno upisao dobija obavestenje npr. BROJ XXX JE VEC UPISAN.
Ovo je neko moje resenje kojim nisam zadovoljan:

Code:
program xxxxx;
uses crt;
var broj:array[1..1000]of integer;
    i,komada,provera:integer;

begin
Writeln('Broj unosa');Readln(komada);

for i:=1 to komada do begin
   writeln('Unesi broj');
   readln(broj[i]);

   for provera:=1 to i-1 do begin

    if (broj[i]=broj[provera]) then begin
        writeln('PONOVLJEN UPIS')
    end
   end
   end;

while not KeyPressed do
end.




Ja slušam i zaboravljam.Ja gledam i pamtim.Ja radim i shvatam.
 
Odgovor na temu

krle_zr

Član broj: 96307
Poruke: 258
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Potrebna pomoc oko programa u pascalu16.02.2010. u 19:12 - pre 172 meseci
Pazi, ja bas mislim da ti je solidan algoritam, unosis brojeve i odmah po unosu proveravas. Jedino sto bih ja izmenio tu je da monotoni posao prebrojavanja ostavis racunaru (korisnik ne mora da na pocketku zna koliko ce clanova biti).

Inace imam neki predlog ali ne zadovoljava kriterijum (ne radi vise od 256 unosa )

Code:


var
  Brojevi: set of byte; //ovde je problem sto ide najvise do 256 unosa
  broj:Integer;

begin
  Brojevi := [];
  I := 0;
repeat
  Writeln('Unesi broj(9999 za kraj) ', I, ': ');
  Readln(broj);
  if broj in Brojevi then
  begin
    writeln('Broj ', Broj, ' postoji.');
    readln;
    exit;
  end;
  Brojevi := Brojevi + [Broj];
  Inc (I);
until
  (Broj = 9999) or (I = 255);



Pozdrav
 
Odgovor na temu

Alexandar_R92
Srbija

Član broj: 239180
Poruke: 3
*.vdial.verat.net.



Profil

icon Re: Potrebna pomoc oko programa u pascalu16.02.2010. u 22:43 - pre 172 meseci
Ok tvoj predlog mi se dopada :) ,uz male izmene to je ono sto mi treba al je problem tih 256 unosa,potrebno mi je bar 500 i neophodno je da korisnik na pocetku odredi broj unosa.U mom kodu jedino mi se ne svidja sto npr. nakon trece provere odredjenog broja koji je upisan tri puta izbacuje 3 poruke da vec postoji a ne jednu.
Hvala...
Ja slušam i zaboravljam.Ja gledam i pamtim.Ja radim i shvatam.
 
Odgovor na temu

krle_zr

Član broj: 96307
Poruke: 258
*.static.zrlocal.net.



+7 Profil

icon Re: Potrebna pomoc oko programa u pascalu17.02.2010. u 07:21 - pre 172 meseci
Može ovako?

Code:


var
  Broj: array [1..1000] of Integer;
  I, Komada, Provera: integer;
  Nadjeno: set of Byte;
begin


  Nadjeno := [];

  Writeln('Broj unosa');
  Readln(komada);
  for I := 1 to komada do
  begin
    writeln('Unesi broj ', I, ':');
    readln(Broj[I]);

    for Provera := 1 to I - 1 do
    begin

    if broj[I] = broj[provera] then
    begin
      if not (broj[I] in Nadjeno) then
        Nadjeno := Nadjeno + [Broj[i]];


    end

   end

  end;
  writeln('Ponovljeni brojevi:');

  for I := 1 to Komada do
  begin
    if broj[I] in Nadjeno then
    begin
      writeln(Broj[I]);
      Nadjeno := Nadjeno - [Broj[I]];
    end;
  end;
  readln;

end.
 
Odgovor na temu

Alexandar_R92
Srbija

Član broj: 239180
Poruke: 3
*.vdial.verat.net.



Profil

icon Re: Potrebna pomoc oko programa u pascalu17.02.2010. u 14:31 - pre 172 meseci
Da ovakav cod mi odgovara i jos jednom hvala na pomoci.
Ja slušam i zaboravljam.Ja gledam i pamtim.Ja radim i shvatam.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Potrebna pomoc oko programa u pascalu

[ Pregleda: 2251 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.