Kezdőoldal » Számítástechnika » Programozás » Free pascalban while ciklussal...

Free pascalban while ciklussal, hogy lehet meghatározni hogy a rendezetlen lineáris tömbben van-e olyan szám ami egynél többször fordul elő?

Figyelt kérdés

2013. ápr. 8. 18:33
1 2
 1/14 ejbenjaro ***** válasza:
Végig mégy a tömbön és megvizsgálod, hogy melyik eleméből mennyi van, ehhez használhatsz egy másik tömböt, ahova kigyűjtöd az elemeket, vagy használhatsz halmazt is pl.
2013. ápr. 8. 18:39
Hasznos számodra ez a válasz?
 2/14 anonim ***** válasza:

Két ciklussal.

Belső ciklus hasonlítgatja az elemeket azzal, ahol a külső tart.

Ha csak ennyi a kérdés, akkor ha találsz ilyet beállítasz egy logikai értéket igazra, amivel ki is tudsz lépni a ciklusból.

2013. ápr. 8. 18:40
Hasznos számodra ez a válasz?
 3/14 A kérdező kommentje:

És tudnál segíteni abban, hogy ebben mi a hiba?

program one;

uses crt;

var i,j,ref:integer;

vanbenne:boolean;

lin_tomb: array [1..10] of integer;

begin

randomize;

clrscr;

for i:=1 to 10 do

begin

lin_tomb[i]:=random(20 )+1;

write(lin_tomb[i],' ');

end;

writeln;

while i<=10 do

begin

ref:=lin_tomb[i];

inc(i);

while j=1+i do

begin

if lin_tomb[j]=ref then vanbenne:=true;

inc(j);

end;

end;

if vanbenne=true then writeln('igen') else writeln('nem');

readln;

end.

2013. ápr. 8. 18:54
 4/14 anonim ***** válasza:
A j-t nem inicializálod sehol, és nem i+1-ig megy, hanem a tömb végéig, valamint igazából a ref-re sincs szükség.
2013. ápr. 8. 19:07
Hasznos számodra ez a válasz?
 5/14 A kérdező kommentje:
nem javítanád ki nekem???
2013. ápr. 8. 19:10
 6/14 anonim ***** válasza:
Eltaláltad.
2013. ápr. 8. 19:29
Hasznos számodra ez a válasz?
 7/14 A kérdező kommentje:
nagyon kedves vagy...
2013. ápr. 8. 19:43
 8/14 anonim ***** válasza:

Megmondtuk mi a hiba, egészen pontosan.

A kezedet ne fogjuk meg?

2013. ápr. 8. 19:47
Hasznos számodra ez a válasz?
 9/14 anonim ***** válasza:

program project1;

uses crt;

var i,j,ref:integer;

vanbenne:boolean;

lin_tomb: array [1..10] of integer;

begin

randomize;

clrscr;


for i:=1 to 10 do

begin

lin_tomb[i]:=random(20 )+1;

write(lin_tomb[i],' ');

end;


writeln;

i:=1;

j:=1;

for i:=1 to 10 do

begin

ref:=lin_tomb[i];

for j:=1 to 10 do

begin

if ref=lin_tomb[i+j] then vanbenne:=true;

end;

end;

if vanbenne=true then writeln('igen') else writeln('nem');

readln;

end.


Pl. így működne, habár nem a leghelyesebb megoldás. Habár ha ilyen logikai feladatot, nem tudsz kirázni az ujjadból, akkor felesleges programoznod. Nem sértésből mondom.

2013. ápr. 8. 21:49
Hasznos számodra ez a válasz?
 10/14 anonim ***** válasza:
Azért vannak még itt gondok erősen.
2013. ápr. 8. 22:24
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!