Kezdőoldal » Számítástechnika » Programozás » Pascal: Hogyan oldhatnám meg...

Pascal: Hogyan oldhatnám meg ezt a problémát?

Figyelt kérdés
Egy feladat során ezzel találkoztam: van egy tömböm tele névvel, egy név többször is szerepel. A feladat megoldásához ki kell gyűjtenem a neveket egy másik tömbbe, de duplázás nélkül, tehát csak egyet az azonosak közül. Már mindenfelé néztem, és sehol nem találtam választ.

2016. dec. 4. 01:58
1 2
 1/13 A kérdező kommentje:
Egy érettségifeladatról van szó.
2016. dec. 4. 01:59
 2/13 anonim ***** válasza:

Nem komplikált, végigmés egy ciklussal az eredeti tömb elemein, és a cikluson belül egy másik ciklusban a második tömbön is végigmész, és megnézed, szerepel-e már benne az az elem. Ha igen, akkor nem rakod be, ha nem, akkor berakod.

(Értelemszerűen ha a második tömbben megtalálod az aktuális elemet, akkor nem kell tovább nézni, hanem rögtön nézheted az eredeti tömb következő elemét).

2016. dec. 4. 02:13
Hasznos számodra ez a válasz?
 3/13 A kérdező kommentje:
Konkrét kódot kaphatnék? Ezt próbálom csinálni, de egyszerűen nem működik
2016. dec. 4. 02:20
 4/13 anonim ***** válasza:

4 éve nem Pscaloztam, de ilyesmi


Names - nevek tömbje

FilteredNames - szűrt nevek tömbje

N - nevek tömb hossza

M - szűrt nevek tömb hossza


for i:= 1 to N do

begin

    j:=1;

    while j<=M and Names[i] <> FilteredNames[j] do

        j:=j+1;

    if j<=M then

    begin

        M:=M+1;

        FilteredNames[M]:=Names[i];

    end

end

...

2016. dec. 4. 02:42
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:

Jó kis pascal...

C#-ban ez a feladat így néz ki:

var distinctArray = array.Distinct().ToArray();

2016. dec. 4. 02:51
Hasznos számodra ez a válasz?
 6/13 A kérdező kommentje:
Hát, nem működik továbbra sem, de köszönöm a próbát
2016. dec. 4. 02:52
 7/13 anonim ***** válasza:
Akkor talán értelmezd, és írd meg magad, helyesen.
2016. dec. 4. 02:56
Hasznos számodra ez a válasz?
 8/13 SimkoL ***** válasza:

program tomb_1;


var nevek : array[1..10] of String[12] = ('Eva', 'Adam', 'Jozsef', 'Katalin', 'Ivan',

'Agnes', 'Eva', 'Adam', 'Timea', 'Ivan');

szurt_nevek : array of String[12];

i, j : Integer;

van : Boolean;


begin

for i := Low(nevek) to High(nevek) do

begin

van := False;

WriteLn(nevek[i]);

for j := Low(szurt_nevek) to High(szurt_nevek) do

if nevek[i] = szurt_nevek[j] then van := True;

if not van then

begin

SetLength(szurt_nevek, Length(szurt_nevek) + 1);

szurt_nevek[Length(szurt_nevek) - 1] := nevek[i];

end;

end;

WriteLn('-----------------------');

for j := Low(szurt_nevek) to High(szurt_nevek) do

WriteLn(szurt_nevek[j]);

ReadLn;

end.

2016. dec. 4. 07:48
Hasznos számodra ez a válasz?
 9/13 A kérdező kommentje:

#7: Bocsánat, ha bunkón jöttem ki, megpróbáltam természetesen átértelmezni a saját kódomra de nem sikerült. Mindenesetre köszönöm a segítséget.


#8: Köszönöm szépen, működött!

2016. dec. 4. 10:28
 10/13 SimkoL ***** válasza:
Ki nem adnék semmit amit le nem teszteltem :) StringList-tel egyszerűbb lett volna, de szerintem az nincs benne a középiskolás tananyagban.
2016. dec. 4. 10:46
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!