NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Lukáš Koštiál:15.5.2017 18:15

Dobrý den, chtěl bych někoho se zeptat a poprosit jestli by mi nepomohl s programem do seminární práce. Je to na mě trochu složitější program a postup +- vím jenom nevím jak to napsat v pascalu pomohl by mi prosím někdo z vás vyřešit tento program : Matici MxN naplnit v podprogramu náhodnými čísly od 1do99, urči která hodnota se vyskytla nejčastěji a kolikrát to bylo, zobraz výsledky a matici. Jsem student a v programování jsem průměrný proto moc prosím o pomoc a předem děkuji.

 
Odpovědět
15.5.2017 18:15
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Lukáš Koštiál
Honza Bittner:15.5.2017 19:08

Nechci nic říkat, ale to zadání je neskutečně triviální, že se mi nechce věřit, že to je vůbec seminární práce a taky že to nezvládneš... stačí se jen lehce zamyslet.

Jednoduše si vytvoříš pole MxN, n2 projdeš položky a vložíš do každé náhodné číslo přes nějaký random, současně budeš inkrementovat další jednodimenzionální pole (100 prvků, výchozí hodnota 0) na indexu toho random a úplně na konci určíš největší hodnotu. Pak jen ještě vypíšeš výsledky a matici.

Nahoru Odpovědět
15.5.2017 19:08
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Odpovídá na Honza Bittner
Lukáš Koštiál:15.5.2017 20:04

No jak jsem psal nahoře postup jsem taky zvládl vymyslet ale problém je že na naší škole je programováni poněkud slabé... Všechno co jsme probírali byla pouha teorie všechny testy jsme psali na papír.. v pascalu jsme pracovali opravdu málo ty říkaš že je to pro tebe velice jednoduché nemohl bych tě prosím poprosit o vypracováni toho programu opravdu hodně by mi to pomohlo vývojak už zvládnu v pohodě sám ale byl bych opravdu moc vděčný kdyby jsi mi to prosím vypracoval. Můžu tě o to poprosit ? Předem díky moc.

 
Nahoru Odpovědět
15.5.2017 20:04
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Lukáš Koštiál
Honza Bittner:15.5.2017 20:28

Udělat určitě nemohu. Trochu snahy a googlení musíš vynaložit sám.

Nahoru Odpovědět
15.5.2017 20:28
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Michal Haňáček:15.5.2017 20:36

Dobře to Honza napsal. Taky rád pomůžu, nebo poradím, ale úlohy do školy, ještě k tomu takhle pitomě jednoduchý nebudu ... zkus něco navrhnout sám, každý tady ti myslím rád pomůže.

Nahoru Odpovědět
15.5.2017 20:36
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Lukáš Koštiál
Petr Čech:15.5.2017 20:37

Pokud neumíš Pascal jako jazyk, prostě tomu dej večer. Pokud nejsi v programování úplný nováček, dostaneš se určitě tam, kam chceš za max 2 h procházení tutoriálů. Navíc znáš přesně postup, jen to musíš přepsat do jazyka ;)

Nahoru Odpovědět
15.5.2017 20:37
the cake is a lie
Avatar
Lukáš Koštiál:15.5.2017 20:41

A na tom všem stojí můj problém : přepsat to do jazyka konkrétně nevím jak vytvořit tu matici a podprogram jinak by to mělo být snad +- ok.

 
Nahoru Odpovědět
15.5.2017 20:41
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Lukáš Koštiál
Martin Dráb:15.5.2017 21:04

Abys měl nějaké vodítko do začátku, matici o M řádcích a N sloupcích pro pevné M a N zadefinuješ takto:

Const
  M = 10;
  N = 20;

Type
  TMatice = Array [1..M, 1..N] Of Byte;

Ještě sem dám proceduru Napln, která zadanou matici naplní hodnotami v rozsahu 1-99, z čehož bys měl vidět nejen, jak se to dělá, ale i jak se taková matice dá procházet řádek po řádku.

Procedure Napln(Var AMatice:TMatice);
Var
  I, J : Integer;
begin
For I := 1 To M Do
For J := 1 To N Do
  AMatice[I,J] := Random(99) + 1;
end;

Zjistit četnost jednotlivých hodnot vyžaduje jen malou komplikaci (musíš si ty četnosti nějak rozumně uložit a pak v nich hledat hodnotu s tou největší).

Ze jste psali testy na papír není nic špatného. také jsme tak na střední testy psali a podle mě to bylo daleko lepší než přímo programování na počítači, jelikož tolik nezáleželo na syntaktických chybách, ale na algoritmu.

Že jste v Pascalu moc prakticky neprogramovali, je sice nesnáz, ale ta se dá překonat samostudiem. Stejně jako se doma učíš na testy z matiky, češtiny či dějepisu.

P.S.
Schálně, kdy je termín odevzdání...

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
15.5.2017 21:04
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Lukáš Koštiál:15.5.2017 21:15

Ahoj termín odevzdání je až na konci měsíce takže , že bych byl nezodpovědný to zase ne a dlouho jsem zkoušel sám nad tím přemýšlet. Ale jsem vděčný za každou radu děkuji.

 
Nahoru Odpovědět
15.5.2017 21:15
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Lukáš Koštiál
Petr Čech:16.5.2017 12:46

Používej tlačítko odpovědět! Tak se prostě nauč ten jazyk. Sedni si k tomu a najdi si tutoriály.

Nahoru Odpovědět
16.5.2017 12:46
the cake is a lie
Avatar
Odpovídá na Lukáš Koštiál
Michal Štěpánek:16.5.2017 14:17

A když odevzdáš seminárku (kterou ti někdo udělá), co řekneš, když se tě někdo z vyučujících zeptá na podrobnosti v tom kódu? Asi bys měl vědět, co který řádek dělá, takže by ses stejně měl naučit aspoň základy toho jazyka...

Nahoru Odpovědět
16.5.2017 14:17
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.