Kezdőoldal » Számítástechnika » Programozás » Egy tömbben megadott elemeket...

Egy tömbben megadott elemeket miként lehet átrakni mátrixba úgy, hogy a program figyeljen rá: hány elemet adtak meg és ha kevesebbet mint amivel a mátrixot ki lehetne tölteni akkor ne tegye bele?

Figyelt kérdés

Írtam egy példaprogramot is, amivel kapcsolatban azt szeretném kérdezni, hogy miként lehet a kérdésben szereplő problematikát megoldani.

Például ha megadnak neki csak húsz elemet, akkor ismerje fel, hogy hányszor tudja feltölteni a mátrixot a tömbből a megadott elemek száma szerint és a maradékkal ne próbálkozzon...


A példaprogramnak az a nagy baja, hogy valamiért kétszer kell beírni az adott elemet, hogy tovább menjen a másikra, nem tudom, miért...


Program Tomb_Matrix;

var

t : array [0..60] of integer;

m : array [1..6] of integer;

i,j : byte;

elem : integer;

begin

i:=0;

elem:=4;

while (elem<>0) do

begin

writeln;

write('Kérem az ',i,' elemet : ');readln(t[i]);

readln(elem);

t[i]:=elem;

inc(i);

end;

end.



2015. ápr. 28. 16:03
1 2 3
 1/24 anonim ***** válasza:

> a program figyeljen rá: hány elemet adtak meg és ha kevesebbet mint amivel a mátrixot ki lehetne tölteni akkor ne tegye bele?


Két szám összehasonlítása a feladat. If-és kacsacsőr.


> hogy hányszor tudja feltölteni a mátrixot...maradékkal ne próbálkozzon


Egészosztás és maradék (div és mod) operátorok a barátaid. De ha velük nem találkoztál még, a 4 alapművelet és a ciklusok segítenek megoldani a feladatot egy alternatív módon.

2015. ápr. 28. 16:18
Hasznos számodra ez a válasz?
 2/24 A kérdező kommentje:

Köszönöm.

A beolvasásnál mit rontok el, hogy kétszer kell entert ütni minden tag után?

2015. ápr. 28. 16:25
 3/24 anonim ***** válasza:

> write('Kérem az ',i,' elemet : ');readln(t[i]);

> readln(elem);


2 db readln-od van. :)

2015. ápr. 28. 16:27
Hasznos számodra ez a válasz?
 4/24 SimkoL ***** válasza:

'write('Kérem az ',i,' elemet : ');readln(t[i]);

readln(elem); '

Szerinted hány read.... van

Egyenlőre ennyi, a kód pocsék.

2015. ápr. 28. 16:27
Hasznos számodra ez a válasz?
 5/24 A kérdező kommentje:

Ha van kedved, leírhatnád a megoldást. :-)

Olyan megoldás érdekelne, ami mondjuk akár többszáz elemű tömbön is működne, ha megvan az elemszám, hogy hányat adtak meg...

2015. ápr. 28. 16:27
 6/24 A kérdező kommentje:

Igen, sajnos bennefelejtettem a másik readln-t. :S

Az esztétikára nem ügyeltem, sajnos. :(

Mármint hogy a kód esztétikusan nézzen ki.

2015. ápr. 28. 16:29
 7/24 A kérdező kommentje:

Program Tomb_Matrix;

var

t : Array [0..60] of Integer;

m : Array [1..6,1..6] of Integer;

i,j,k : Byte;

elem : Integer;

begin

i := 0;

elem := 4;

While (elem <> 0) do

begin

WriteLn(#10#13,'Kérem az ',i,' elemet : ');

ReadLn(elem);

t[i] := elem;

Inc (i);

end;

k := i;

elem :=0;

For i := 1 to k Div 6 do

begin

for j := 1 to k Div 6 do

begin

m[i,j]:=t[elem];

inc(elem);

end;

end;

end.

2015. ápr. 28. 16:42
 8/24 SimkoL ***** válasza:

Házi vagy csak neked kell ?

A régi 'ajánlás' szerint, amit én még a mai napig is követek a foglalt szavak kisbetűsek - program, begin, end, for, do, if, then, while, var, array... nem olyan sok van - a többi pedig értelemszerűen nagybetűvel kezdődik és ha összetett akkor a második része is pl. WriteLine := WriteLn....

Sok nyelv érzékeny a kis és nagybetűre ezért érdemes már a Pascalban is hozzászokni.

Még küzdj egy kicsit és mindjárt megvan a megoldásod. Ha végképp nem megy...

2015. ápr. 28. 17:03
Hasznos számodra ez a válasz?
 9/24 A kérdező kommentje:

Nem vagyok már iskolás, szóval nem házi, csak szeretek gondolkodni dolgokon és nagyon érdekel ez a probléma.

Nem tudom miért nem jövök rá :S

2015. ápr. 28. 18:24
 10/24 A kérdező kommentje:
Leírod nekem, hogy Te miként oldanád ezt meg?
2015. ápr. 28. 18:51
1 2 3

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!