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
 11/24 SimkoL ***** válasza:

Én így oldanám meg: [link]

Pici hibakezelés a számokhoz, dinamikus tömb a bevitelhez.

2015. ápr. 29. 04:27
Hasznos számodra ez a válasz?
 12/24 A kérdező kommentje:

Köszönöm szépen a megoldást.

Ha statikusan hagynánk a mátrixot, akkor mi lenne a megoldás? (hogy figyelembe vegye, ha például a tömb akkora lenne, hogy a mátrix elemeinek háromszorosát adnák meg, valamint még 2-3 értéket, ekkor a mátrixba bepakolna először annyi számot amennyi a tömbbe belefér, majd kiírná a mátrixot, readln-vel megállna, utána enterre mégegyszer bepakolná a számokat (a következő pozíciótól kezdve), ugyanúgy kiírná.

Harmadszor pedig ugyanígy, de észlelné, hogy negyedszer már nem lehet bepakolni...

Működne még akkor is, ha a mátrix elemeinek sokszorosa (és még egy kicsi, ami már nem fér be) található a tömbben.

Mik kellenek nekem ahhoz hogy ezt meg tudjam oldani?

2015. ápr. 29. 09:39
 13/24 SimkoL ***** válasza:

Nem nagyon értem a kérdést.

'Ha statikusan hagynánk a mátrixot' úgy maradt.

Nagyon kevered a mátrixot és a vektort. Talán próbáld újrafogalmazni a kérdést.

A link az emberi butaság miatt most nem elérhető mivel akkora szakemberek vannak az atw-n, hogy nem ismerik fel ha egy exe tömörítve van, csak nem éppen az ismertekkel - mondjuk azért egy szakmabelinek ismerni kellene az Aspack-ot -. Ebből kifolyólag mindenem 'odalett' de már harcolok a visszaszerzésért. - talán én is kicsit hibás vagyok mert spy.exe volt a neve egy tesztprogramnak -

2015. ápr. 29. 13:37
Hasznos számodra ez a válasz?
 14/24 SimkoL ***** válasza:

Kaptam választ az atw-től: 'Azt javaslom, hogy valamilyen más módon tömörítse az állományt, vagy esetleg csak bejelentkezéssel tegye elérhetővé'

Kezdjem a végével:

- Ha bejelentkezéstől teszem függővé akkor nem érhető el mindenki számára az alkotott 'hülyeségem'

- Ha nem tömörítem 'ég a pofám' a nagy méret miatt mert a 'dizájn' lök rajta egy-két megát

- Mobilnetnél nem mindegy mennyit kell letölteni

- Ha az exe-t tömörítem az letöltés után azonnal fut, nem kell kibontani

Remélem egyszer - sose lesz :) - hozzáértők ülnek majd a döntéshozók székében.

Na mindegy, regisztráltam magamnak egy domain-t és hozzá egy pár gigát, de sajna két hét mire él.

2015. ápr. 29. 14:13
Hasznos számodra ez a válasz?
 15/24 A kérdező kommentje:

Ok, leírom pontosabban, hogy mit is szeretnék.


Adott a tömb a példaprogramban, amelybe számokat lehet megadni.

Az egyszerűség kedvéért a mátrix legyen egy 3x3-as mátrix.

Ha a tömbnek megadunk például harminc elemet, akkor azt szeretném megoldani, hogy:

fogja, átpakolja az 1-9 számokat a mátrixba és kiírja a mátrixot.

Ezután mégegyszer bepakolja, de már a tömb következő pozíciójától...

Érzékelné a program, hogy negyedszer már nem tudja bepakolni (30 elem esetén) és negyedszer már nem pakolná be...

Így érthető?

2015. ápr. 29. 15:54
 16/24 A kérdező kommentje:
Sajnálom, hogy így jártál a tárhelyeddel, nagyon remélem, hogy nagyon rövid időn belül sikerül megoldanod a problémát, nagyon hasznos oldalt hoztál össze a példaprogramokkal, feladatmegoldásokkal és a segédprogramok is nagoyn hasznosak voltak.
2015. ápr. 29. 15:56
 17/24 A kérdező kommentje:
Bocsánat ha furán és nem érthetően fogalmaztam meg: mit is szeretnék pontosan megvalósítani.
2015. ápr. 29. 15:56
 18/24 A kérdező kommentje:

program Tomb_Matrix;

Const

sor=3;

oszlop=3;

var

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

m : array [1..3,1..3] of Integer;

i,j,k : Byte;

elem : Integer;

meddig : 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;

meddig := k div 3;

For i := 1 to meddig Div 3 do

begin

for j := 1 to meddig Div 3 do

begin

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

inc(elem);

end;

end;

end.

2015. ápr. 29. 16:19
 19/24 anonim ***** válasza:
Ez meg mi a búbánat?
2015. ápr. 29. 16:48
Hasznos számodra ez a válasz?
 20/24 SimkoL ***** válasza:
Most már értem mit akarsz, de ettől a programod még pocsék és nem is nagyon értem a logikáját - mondjuk ki sem próbáltam mert már 'a szeme sem állt jól' Talán az általam írt kód alapján kellett volna tovább haladni.
2015. ápr. 29. 17:37
Hasznos számodra ez a válasz?
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!