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?
Í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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Én így oldanám meg: [link]
Pici hibakezelés a számokhoz, dinamikus tömb a bevitelhez.
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?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
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 -
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
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.
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ő?
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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!