Pomoc, pomoc s úkolem (matice v Delphi) – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc, pomoc s úkolem (matice v Delphi) – Delphi – Fórum – Programujte.comPomoc, pomoc s úkolem (matice v Delphi) – Delphi – Fórum – Programujte.com

 

maxikp0
Duch
22. 4. 2009   #1
-
0
-

Moc bych potřeboval bych pomoc s jedním úkolem do školy. Před měsícem jsem nevěděl, že něco jako Delphi existuje a dnes po mě chtějí odevzdání nějakého úkolu, se kterým si nevim vubec rady. Tepvrve se s Delphi7 seznamuju a nejpozději do měsíce to musim odevzdat. Budu vděčnej za jakoukoliv pomoc, radu, návod. Předem díky Petr

Zadání úkolu:
Naplňte automaticky obdélníkovou matici A(m x n) náhodnou celočíselnou hodnotou v rozsahu 0 – k, kde k je kladné číslo a určete rozdíl největšího a nejmenšího čísla.
Vstup : Celá čísla m,n,k
Výstup : Matice A, rozdíl největšího a nejmenšího čísla

Nahlásit jako SPAM
IP: 193.86.73.–
Honzc0
Stálý člen
24. 4. 2009   #2
-
0
-

Z tvého zadání není jasné:
1.Má to být v Delphi nebo to má být konzolová aplikace.
2. Omezující podmínky pro m,n,k (jaká je jejich maximální hodnota)
3. Vstup má být čten ze souboru nebo zadáván na obrazovce nebo vyplněním nějakých editačních polí
4. Výstup na obrazovku nebo do souboru.

Nahlásit jako SPAM
IP: 85.207.57.–
o-lox0
Super člen
24. 4. 2009   #3
-
0
-

to Honzc - co mu napsat radši něco "trefnějšího" jako tohle :-D :

Jednoducha prace s polem, celociselne promenne se jmenuji integer;

pole se definuje jako
Var
pole : array[1..1000]of integer;
max,min : integer

náhodná čísla do k získáš pole[]:=Random(k)+1.

v cyklu do pole
for a:=1 to m do
for b:=1 to n do
pole[b*m+a]:= ..

do max si v podmince ulozis nejvetsi cislo
do min taky
odectes

Vstup je pres prikaz Readln(promenna);

Podobne pro vypis:
for a:=1 to m do
for b:=1 to n do
writeln(pole[]);

Nahlásit jako SPAM
IP: 85.71.152.–
Honzc0
Stálý člen
24. 4. 2009   #4
-
0
-

To o-lox:
Asi proto, abych ho nemátl jako ty.
V tvé radě je toho až moc zavádějícího:
Např.:1. Random(k)+1 rozhodně nesplní podmínku vstupu, že k=<0,k> pro k celá čísla
Správně tedy Random(k+1)
2. Pokud vím, tak matice typu mxn je dvourozměrné pole a ne jednorozměrné jak navrhuješ
3. Zkoušel jsi si podle tvého návodu naplnit to pole (pole[b*m+a] := ...)
Asi ne, neboť bys přišel na to, že ti nezačíná indexem 1, ale indexem m+1 a následující index
je 2*m+1.
Správně by to mohlo být pole[(a-1)*n+b] := ...
4.Taky výpis matice bude zajímavý. to budou řádky s jedním číslem (tedy žádná matice typu mxn)

Nahlásit jako SPAM
IP: 85.207.57.–
o-lox0
Super člen
24. 4. 2009   #5
-
0
-

to Honzc>
No jo máš uplně pravdu, šít horkou jehlou je ošemetné, nepřemýšlel jsem nad tim, je to vidět, byla to - asi taková blbá kostra, na kterou se má hledět bez dalekohledu :)
K tý dvourozměrnosti - to je schválně jak to chceš udělat když se zadává ze vstupu, můžeš definovat max. nějakou hodně nadhodnocenou array[1..10000,1..10000] of integer;

Nahlásit jako SPAM
IP: 85.71.152.–
Honzc0
Stálý člen
24. 4. 2009   #6
-
0
-

To o-lox:
Např.:
Na vstupu zadáš m, n, k.
Pak natypuješ: type Tpole=array of array of Integer;
a pak proměnné:
var pole: Tpole;
i,j,maxc,minc,rozdil: Integer;

a pak mu přiřadíš délku
SetLength(pole,m,n); a máš dvourozměrné pole mxn (akorát, že začíná indexem [0,0])
a pak ho v cyklu naplníš a zrovna zapisuješ do minc a maxc minimální a maximální čísla.
minc := k+1;
maxc :=-1;
for i := 0 to m-1 do
for j := 0 to n-1 do
begin
pole[i,j] := Random(k+1);
if pole[i,j]<minc then
minc := pole[i,j];
if pole[i,j]>maxc then
maxc := pole[i,j];
end;
pak vypočteš rozdíl
rozdil := maxc-minc;
A výstup už je třeba si udělat sám (podobně jako naplnění a využitím stringu s := s+' '+IntToStr( pole[i,j]) a
procedury WriteLn(s))

Nahlásit jako SPAM
IP: 85.207.57.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

Podobná vlákna

Pomoc s úkolem v C++ — založil zaltex

Pomoc s ukolem — založil Janickaaa1919

Pomoc s úkolem — založil Malirka

Pomoc s ukolem — založil Veganekk

Pomoc s úkolem — založil Honza

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý