Matice a další věci v Delphi – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Matice a další věci v Delphi – Delphi – Fórum – Programujte.comMatice a další věci v Delphi – Delphi – Fórum – Programujte.com

 

5. 11. 2013   #1
-
0
-

Ahoj, moc bych potřebovala pomoc, máme ve škole udělat semestrálku a vůbec nevím jak na to, alespon jak mám začit. Delphi se totiž učíme jen měsíc. 

Naplňte matici pomocí generátoru náhodných čísel
Matici vytiskněte po řádcích ve tvaru tabulky, použijte proceduru na tisk.
Definujte funkci pro výpočet součtu čísel v řádcích
Vypište součty ve všech řádcích vedle jednotlivých řádků
Nalezněte řádek s minimálním součtem a vypište tento řádek
Setřiďte prvky matice v jednotlivých řádcích vzestupně a změněnou matici opět vytiskněte.

Děkuji moc.

Nahlásit jako SPAM
IP: 78.128.153.–
JoDiK
~ Anonymní uživatel
987 příspěvků
6. 11. 2013   #2
-
0
-

#1 studentka
Jak máš začít?

Začni tím, že se rozhodneš, jestli se to opravdu chceš naučit nebo ne.

V tom prvním případě, pokud jsi nevyužila ten měsíc, který už se to "učíte", nezbývá než tomu věnovat zvýšené úsilí. Požádej třeba spolužáka, ať tě doučuje, protože takhle přes internet to moc nejde, obzvláš´t když netušíme, co jsi za ten měsíc zatím zvládla.

V tom druhém případě není co řešit, opět požádej spolužáka, nebo kohokoliv tady, ať ti ten program udělá, on se vždycky někdo ochotný najde.

PS: vidím, že i vysoká škola už přizpůsobila nároky nové generaci "studentů", takovéhle "semestrálky" se dělaly na střední škole normálně v rámci hodiny, nebo na půlhodinové písemce...

Nahlásit jako SPAM
IP: 88.103.233.–
6. 11. 2013   #3
-
0
-

#2 JoDiK

Chodím pořád na přednášky a cvika, jenže to stejně nejde, mám knižku z Delphi dokonce. Snažím se, jestli si myslíš že jsem blondinka v růžovém a zvykla že všechno za mně uděla někdo jiný, tak to se fakt mýlíš. Spolužaci jsou na tom stejně, myslím si že problém bude v přistupu učitele, proto jsem napsala sem. 

Nahlásit jako SPAM
IP: 78.128.150.–
miHan0
Návštěvník
6. 11. 2013   #4
-
0
-

No tady toho s přístupem vyučujícího moc nenaděláme ... každopádně, k tématu.

Začni tím, že si nadefinuješ nějaké pole (rozměry v zadání nemáš, čili si je buď nejprve vyžádej od uživatele, nebo tam něco "na tvrdo" loupni) ...

Potom si pomocí dvou do sebe vnořených cyklů FOR projdi to pole a pomocí funkce RANDOM si vygeneruj obsahy jednotlivých buněk.

Definuj si proceruru která bude dělat v podstatě to stejné co předchozí krok (procházet matici a na konkrétních souřadnicích cosi dělat) jen s tím rozdílem, že nebude obsahy buněk generovat, ale vypisovat. Nezapomeň že se pokaždé při přechodu na nový řádek můsíš přesunout na nový řádek i ve výpisu.

S tímhle doporučuju začít, to další už půjde samo.

Nahlásit jako SPAM
IP: 62.204.249.–
JoDiK
~ Anonymní uživatel
987 příspěvků
6. 11. 2013   #5
-
0
-

#3 studentka
Nebuď citlivka, já přece nabízel dvě možnosti...

Nevím jakým způsobem ta výuka probíhá, jestli je to jen teorie, nebo i nějaká cvičení, jakou formou vám vyučující předává informace, jaké máte k dispozici materiály a tak nemůžu posoudit, kde je problém.

Je-li problém v přístupu učitele, tak bys měla asi začít tam... Buď se domluvte se spolužáky a vyšlete k němu schopného vyjednavače, nebo za ním zajdi sama. Musíte společně hledat a najít příčinu tohoto problému. Pokud projevíte zájem a snahu se to naučit, nechce se mi věřit, že by ten vyučující nezměnil přístup a neumožnil vám látku zvládnout. Možná jsem naivní, ale chci věřit tomu, že učitel udělá všechno pro to, aby věděníchtivé studenty naučil.

Ano, je možné že existují i "učitelé", kteří sežrali všechnu moudrost světa, a obtížný hmyz (tedy studenti) mu jen otravují život a pokud něco nezvládají, je to přece jejich problém, pak platí to co jsem navrhoval minule.

V případě, že nejsi "blondýna", a pálí ti to, je možné, že ti pomůžou i šikovní kluci na tomto serveru, ale musíš dodat informace...

Například zkopírovat sem kus programu, co už máš hotový a ptát se s čím nevíš jak dál, nebo tak...

Nahlásit jako SPAM
IP: 88.103.236.–
RomanZ
~ Anonymní uživatel
272 příspěvků
6. 11. 2013   #6
-
0
-

Já proti blondýnkám nic nemám, jsou super. Akorát nechápu, co má společného barva porostu s maticí v Delphi. Asi jsem hroznej geek :)

Nahlásit jako SPAM
IP: 90.176.60.–
JoDiK
~ Anonymní uživatel
987 příspěvků
6. 11. 2013   #7
-
0
-

#3 studentka
Jestli sis vybrala variantu, že to zkusíš tady, tak můžeš začít třeba takto:

Napiš program, který vygeneruje náhodné číslo z rozsahu 1-100 a vypíše ho.

Zkopíruj ten program sem. Pokud cokoliv nezvládneš, ptej se...

Nahlásit jako SPAM
IP: 88.103.236.–
6. 11. 2013   #8
-
0
-

#7 JoDiK

Vypadá to nějak tak, jenže nevím kde je ta matice a co dal....
var 

Form1: TForm1;
a:array[1..100] of integer;
n:integer;
implementation

{$R *.dfm}
procedure vymena(var a,b:integer);
forward;
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
randomize; //spusteni generatoru nahodnych cisel
n:=strtoint(edn.Text);

lb.Clear;
for i:=1 to n do
Begin
a[i]:=random(10); //nahodne cislo
lb.Items.Add(inttostr(a[i]));
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j,k,v,s:integer; b:boolean;
begin
repeat
b:=true;
for i:=1 to n-1 do
begin
if a[i]>a[i+1] then
begin
vymena(a[i],a[i+1]);
b:=false;
end;
end;
until b;
lb.Clear;
for i:=1 to n do
lb.Items.Add(inttostr(a[i]));
end;
Procedure vymena (var a,b:integer);
var pom:integer;
Begin
Pom:=a;
A:=b;
B:=pom;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

end.

Nahlásit jako SPAM
IP: 78.128.150.–
JoDiK
~ Anonymní uživatel
987 příspěvků
6. 11. 2013   #9
-
0
-

#8 studentka
Aha, takže něco už máš.

To, co jsi poslala je tvoje práce a rozumíš tomu, co se tam děje?

Nahlásit jako SPAM
IP: 88.103.233.–
6. 11. 2013   #10
-
0
-

No mám to z hodiny, napsala jsem to sama, nebo spíš opsala. Takhle u nas probihají hodiny, učitel tohle má na proektoru a my to musíme opsat a aby to fungovalo, jenže skoro nic z toho nevysvětli, rozumím jenom začatek..

Nahlásit jako SPAM
IP: 78.128.150.–
JoDiK
~ Anonymní uživatel
987 příspěvků
6. 11. 2013   #11
-
0
-

#10 studentka
Tak napiš ten prográmek, co jsem ti zadal, ať vidím, že tomu rozumíš...

Napiš program, který do proměnné n vygeneruje náhodné číslo z rozsahu 1-100 a vypíše ho.

Nahlásit jako SPAM
IP: 88.103.233.–
miHan0
Návštěvník
7. 11. 2013   #12
-
0
-

Já bych ještě poprosil ať sem slečna vkládá zdroják pomocí konstrukcí k tomu určených. Takhle se to hrozně blbě čte...

Nahlásit jako SPAM
IP: 62.204.249.–
JoDiK
~ Anonymní uživatel
987 příspěvků
7. 11. 2013   #13
-
0
-

#10 studentka
A ještě jedno upřesnění, nejsi náhodou nervózní z té semestrálky moc brzy? Kdy ji máš odevzdávat? Nemáš na ní náhodou pracovat tak dva měsíce a během této doby se postupně ve výuce dovíš jak na to?

Nahlásit jako SPAM
IP: 88.103.236.–
7. 11. 2013   #14
-
0
-

#13 JoDiK
Mám ještě další tří semestrálky, a nechci to pak dělat na poslední chvíli. Nebyla jsem nervózní, ale teď když jsem to zkoušela udělat a nic, tak už jsem nervózní, myslila jsem že to umím líp, ale bohužel...Příští týden mám test, už vidím jak to dopadne...

Jinak jsem zkoušela tohle, ale to nejde a nevím co s tim

var n:integer;
begin
Randomize;
n:=random(100);

#12 miHan

Jak že to mám správně vkládat? Nějak se v tom nevyznám...


Nahlásit jako SPAM
IP: 78.128.151.–
miHan0
Návštěvník
7. 11. 2013   #15
-
0
-

#14 studentka
Klikneš na toto

Připojen obrázek
a tam vložíš kód.

Co se týče toho kousíšku kódu který jsi sem vložila, je psaný správně. Ale nefunguje nejspše proto, že nemáš ukončený blok BEGIN-END.

Nahlásit jako SPAM
IP: 62.204.249.–
7. 11. 2013   #16
-
0
-

#15 miHan
Děkuji, že tam má být begin a end to znám

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    n: TEdit;
    lb: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
 var n:integer;
begin
 Randomize;
 n:=random(100);
end;

end.

ale stejně to nejde..

Nahlásit jako SPAM
IP: 78.128.155.–
miHan0
Návštěvník
7. 11. 2013   #17
-
0
-

Ale jde, jde to přesně tak jak jsi to napsala. Číslo to sice vygeneruje, ovšem dál s ním už nepracuješ.  Zkus si vypsat obsah té tvé proměnné n do Editu (který se pro mě nepochopitelně také jmenuje n)...

čili si to zkus upravit takto:

procedure TForm1.Button1Click(Sender: TObject);
 var n:integer;
begin
 Randomize;
 n:=random(100);
 Self.n.Text:=IntToStr(n);
end;
Nahlásit jako SPAM
IP: 62.204.249.–
JoDiK
~ Anonymní uživatel
987 příspěvků
7. 11. 2013   #18
-
0
-

Až to doladíš, mám druhý úkol (navazuje na předchozí).

Ulož do paměti přesně tolik náhodných čísel z rozsahu -10 až 10, kolik ti vyšlo n.

Pak je všechny projdi, najdi a vypiš největší (maximální) hodnotu.

Nahlásit jako SPAM
IP: 88.103.233.–
ejhle
~ Anonymní uživatel
1 příspěvek
11. 11. 2013   #19
-
0
-

Heh :-) zdravím :-) vsadím se, že slečna chodí na Dfjp na UPCI že? :D že by pan Šroll?? :D já jen, že teďka pracuji na dost podobných SP :))

Nahlásit jako SPAM
IP: 89.248.248.–
VS
~ Anonymní uživatel
6 příspěvků
1. 12. 2013   #20
-
0
-

Dobrý den mám taky učitele Šrolla a potřebovala bych pomoci s jednou funkcí nevím totiž jak se vyměňují sloupce první a poslední,když mám předem již vyplněnou matici. V  pohodě to zvládám pokud mám pomocí editu vložit které se mi promění, ale když mám zadáno první a poslední dělá mi to problém. Předem děkuji za odpověď

Nahlásit jako SPAM
IP: 188.120.212.–
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, 11 hostů

 

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