Ukoly v pascalu - IVT – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ukoly v pascalu - IVT – Pascal – Fórum – Programujte.comUkoly v pascalu - IVT – Pascal – Fórum – Programujte.com

 

HenX0
Duch
13. 10. 2009   #1
-
0
-

Dobrý den,potřeboval bych poradit s pár programy, nevím jak je korektne rozhodit :(
1)Sestavte program, který vygeneruje 20 čísel v intervalu 1 - 10. Poté určí, která čísla se opakuji a zjistí, která se opakují nejčastěji (nejčastější a druhé nejčastější číslo)
2)Sestavte program, ve kterém nejprve zadáte počet řádků a sloupců max 5, takto velkou matici naplníte náhodnými čísly do 100, vytisknete ji na obrazovku a k ní vytisknete matici transponovanou.
3)Zadat matici 3x3 (je jedno jak je zadáme) a zpočítat determinant pomocí ,,sadisova´´ pravidla
4)Sestavte program pro zpracování deseti fyzikálních měření. Na začátku zadáme 10 hodnot, program spočítá průměr, odchylky jednotlivých měření, absolutní a relativní odchylku. Abs. hodnoty odchylek, z nich aritmet průměr. Relativní odchylka je absolutní dělena průměrem krát 100%. Pole 10 řádků a 2 sloupce. (ve druhém o kolik se liší naměřená hodnota od průměru)
Tisk jednotlivých měření a tisk odchylek.

Nahlásit jako SPAM
IP: 90.176.220.–
SeraphCZ0
Stálý člen
13. 10. 2009   #2
-
0
-

A co už máš?

Nahlásit jako SPAM
IP: 85.71.98.–
HenX0
Duch
13. 10. 2009   #3
-
0
-

To SeraphCZ : tak treba ten prvni zacal jsem ho psat takhle ale podle me To SeraphCZ : nefunguje.
program dvakrat_podruhe;
var
a,b,c:integer;
i:array[1..20] of integer;
j:array[1..20] of integer;
begin
randomize;
for a:= 1 to 20 do
begin
i[a]:=random(10);
for b:= a to 19 do
begin
if i[a] = i[b+1] then
j[a]:=i[a];
end;
end;
readln;
end.

Nahlásit jako SPAM
IP: 90.176.220.–
HenX0
Duch
13. 10. 2009   #4
-
0
-

coz by melo zjistit ty stejna cisla,jenze je nezjisti

Nahlásit jako SPAM
IP: 90.176.220.–
SeraphCZ0
Stálý člen
13. 10. 2009   #5
-
0
-

Tenhle cyklus se mi moc nelibi:



for a:= 1 to 20 do
begin
i[a]:=random(10);
for b:= a to 19 do //<-- tohle je podle me blbost viz.[1]
begin
if i[a] = i[b+1] then
j[a]:=i[a];
end;
end;

[1] Kdyz na to jen tak zbezne koukam a nejak extra nepremejslim nad algoritmem tak je tohle blbost protoze at je a jakykoliv tak dalsi prvky pole jsou porad prazdna a kdyz uz to konecne zaplni pole tak to skonci. Udelej si nejdriv cyklus na zaplneni pole tema nahodnejma hodnotama a az potom s polem pracuj

Nahlásit jako SPAM
IP: 85.71.98.–
sputnikone+1
Věrný člen
13. 10. 2009   #6
-
0
-

Sarusova pravidla, když chci něco programovat, tak se to alespoň naučím pojmenovat

Nahlásit jako SPAM
IP: 147.251.201.–
HenX0
Duch
13. 10. 2009   #7
-
0
-

no to mi prave porad kamos,ja to ted delam podle sebe a uz to za chvili asi bude,pak to tady soupnu

Nahlásit jako SPAM
IP: 90.176.220.–
Honzc0
Stálý člen
14. 10. 2009   #8
-
0
-

Zde máš příklad 1.

program Posl;

{$APPTYPE CONSOLE}

uses
SysUtils;

var i,j,maxc: Integer;
s: String;
p: array [1..20] of Integer;
cis: array [1..10] of Integer;
pov: array of String;
begin
Randomize;
WriteLn;
WriteLn(' Vygenerovana posloupnost:');
Write(' ');
for i := 1 to 20 do //20x opakujeme generovani cisel
begin
p[i] := Random(10)+1; //generujeme cislo 1-10 a zapiseme ho do pole
if i<20 then
s := ','
else
s := '';
Write(p[i],s); //a zapiseme ho na obrazovku
end;
WriteLn;
WriteLn;
WriteLn(' Pocet vyskytu cisel 1-10 v posloupnosti:');
//tady hledame kolikrat se kazde cislo 1-10 vyskytuje v dane posloupnosti
for i := 1 to 10 do
for j := 1 to 20 do
if p[j]=i then
cis[i] := cis[i]+1; //pocet vyskytu daneho cisla 1-10 zvysime o 1
for i := 1 to 10 do
if cis[i]<>0 then //a zapisujeme, ktere cislo a kolikrat je v posloupnosti
WriteLn(' cislo ',i,' je v posloupnosti ',cis[i],'x')
else
WriteLn(' cislo ',i,' v posloupnosti neni');
//tady hledame cisla s nejvyssim poctem vyskytu
maxc := 0;
SetLength(pov,0);
for i := 1 to 10 do
if cis[i]>=maxc then
maxc := cis[i];
for i := 1 to 10 do
if cis[i]=maxc then
begin
SetLength(pov,Length(pov)+1);
pov[Length(pov)-1] := IntToStr(i);
cis[i] := -1; //abychom ho uz dal nehledali priradime mu pocet vyskytu zaporny
end;
s := '';
Writeln;
//zde zapisujeme cisla s nejvyssim poctem vyskytu
if Length(pov)>1 then
begin
for i := 0 to Length(pov)-2 do
s := s+pov[i]+',';
s := s+pov[Length(pov)-1];
WriteLn(' Nejvyssi pocet vyskytu maji cisla ',s,' a to: ',maxc,'x');
end
else
begin
s := pov[0];
WriteLn(' Nejvyssi pocet vyskytu ma cislo ',s,' a to: ',maxc,'x');
end;

//tady hledame cisla s druhym nejvyssim poctem vyskytu
maxc := 0;
SetLength(pov,0);
for i := 1 to 10 do
if cis[i]>=maxc then
maxc := cis[i];
for i := 1 to 10 do
if cis[i]=maxc then
begin
SetLength(pov,Length(pov)+1);
pov[Length(pov)-1] := IntToStr(i);
cis[i] := -1;
end;
s := '';
Writeln;
//zde zapisujeme cisla s druhym nejvyssim poctem vyskytu
if Length(pov)>1 then
begin
for i := 0 to Length(pov)-2 do
s := s+pov[i]+',';
s := s+pov[Length(pov)-1];
WriteLn(' Druhy nejvyssi pocet vyskytu maji cisla ',s,' a to: ',maxc,'x');
end
else
begin
s := pov[0];
WriteLn(' Druhy nejvyssi pocet vyskytu ma cislo ',s,' a to: ',maxc,'x');
end;
ReadLn;
end.

Nahlásit jako SPAM
IP: 85.207.57.–
Honzc0
Stálý člen
15. 10. 2009   #9
-
0
-

V příloze př.2

Nahlásit jako SPAM
IP: 85.207.57.–
Mircosoft+1
Věrný člen
15. 10. 2009   #10
-
0
-

Dobrý, ale nech HenXovi aspoň něco. Říkal, že to píše podle sebe a pak to sem šoupne, tak proč mu kazit radost z vlastní práce? ;-)

Nahlásit jako SPAM
IP: 130.119.248.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Honzc0
Stálý člen
16. 10. 2009   #11
-
0
-

To Microsoft - máš pravdu
To sputnikone - Sarrus se píše se dvěma r

Nahlásit jako SPAM
IP: 85.207.57.–
sputnikone+1
Věrný člen
16. 10. 2009   #12
-
0
-

sry, jsem byl lehce rozhozen :)

Nahlásit jako SPAM
IP: 147.251.201.–
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, 3 hosté

Moderátoři diskuze

 

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