» Poradna » Programy

Delphi-procedura

 |   |  Microsoft Windows 7 Firefox 38.0

Dobrý den,potřeboval bych poradit ohledně vytvoření procedury k tomuto zadání: Sestavte proceduru, která k dané N-členné posloupnosti A sestaví posloupnost S jejích částečných součtů (s1=a1, s2=a1+a2, …, sn=a1+a2+…+an) a použijte ji pro řešení následující úlohy: Je dána čtvercová matice řádu K (K<20) s celočíselnými prvky. Vytiskněte zadanou matici a dále matici, která se od zadané liší tím, že má každý řádek nahrazen posloupností částečných součtů jeho původních prvků.Jsem úplný začátečník a s procedurami a funkcemi si nevím moc rady. Předem děkuji za odpověď.

Odpovědi na otázku

 |   |  Linux Chrome 42.0.2311.111

Jsi úplný začátečník, proto máš řešit tuto jednoduchou úlohou.PrasatkoPee

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 37.0

Začátečník? Tohle není zadání z praxe, to je jasné školní zadání. Co jsi sám zatím vyzkoušel, kde máš zádrhel? Dej sem svůj dosavadní výtvor. Jinak si na*ser. Je drzé chtít po naprosto cizích lidech vypracovat školní úlohy. To tvé zadání není ani tak o procedurách a funckích, ale o algoritmizaci. Určitě jste už nějaké věci probírali, tak se nejprve snaž sám. Nebo si řekni nějakému spolužákovi, některý z nich ti jistě poradí, nebo třeba dá celý program opsat...lépe ho pak upravit. Ale všelijaké ty školní fígle určitě znáš, nebo i s těmi chceš poradit?!

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

Vloz sem sve dosavadni reseni a napis, co konkretne ti nejde.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Chrome 39.0.2171.95

nejdřív zadáš N - počet prvků v posloupnosti vytvoříš dvě jednorozměrná pole s daným počtem prvků Npak jednim cyklem For naplníš první pole např. náhodnými číslypak dvěma vnořenými cykly for i=1 to N .... ; for j=1 to i .... ; pole2[i]=pole2[i]+pole1[j]naplníš druhé pole součtem, pak vytvoříš matici a opět dva vnořené cykly a opět dva vnořené cykly na naplnění matice for i=1 to N.... for j=1 to N; M[i,j]=random, a pak použiješ postup nahoře na naplnění řádků matice součtem prvků posloupnosti v každém řádku matice, to budou dva vnořené cykly + uvnitř budou další dva na vytvoření součtu je to školní úloha.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 38.0

zatím jsem navrhl tohle jsou tam ještě drobné chyby které se snažím opravit.ypeposloupnost=array[1..400] of real;procedure soucty(var n:integer;a:array of real);varj:integer;s:real;begins:=0; for j:=1 to n do s:=round(s+a[j])end;vara:array[1..20,1..20] of real;i,j,n:integer;s:real;begin writeln('Zadej rad matice:'); readln(n); writeln('Zadej prvky matice:'); for i:=1 to n do for j:=1 to n do readln(a[i,j]); writeln; writeln('zadana matice:'); writeln; for i:=1 to n do for j:=1 to n do begin write(a[i,j]:7:2); writeln; readln end; readln; for i:=1 to n do soucty(n,a,s); end; for i:=1 to n do for j:=1 to n do write(s[i,j]); end;end.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

To mas pravdu, ze jsou tam chyby. K cemu je treba tahle procedura?procedure soucty(var n:integer;a:array of real);var j:integer; s:real;begin s:=0; for j:=1 to n do s:=round(s+a[j])end;Je sice pekne, ze secte vsechny prvky posloupnosti, ale nic s tim neudela.Ty bys prece podle zadani mel provest nascitani do druheho pole a to nedelas.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 38.0

Pardon tohle byl chybný program. Mám uložené různé varianty kdybych se potřeboval vrátit :DZde je upravený:typeposloupnost=array[1..400] of real;procedure soucty(var n:integer;a,s:array of real);vari,j:integer;begins[0]:=0; for i:=1 to n do for j:=i-1 to n do s[i]:=round(s[j]+a[i])end;vara,s:array[1..20,1..20] of real;i,j,n:integer;begin writeln('Zadej rad matice:'); readln(n); writeln('Zadej prvky matice:'); for i:=1 to n do for j:=1 to n do readln(a[i,j]); writeln; writeln('zadana matice:'); writeln; for i:=1 to n do for j:=1 to n do begin write(a[i,j]:7:2); writeln; readln end; readln; for i:=1 to n do soucty(n,a,s); end; for i:=1 to n do for j:=1 to n do write(a[i,j]); end;end.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 38.0

Na konci jen má býtwrite(s[i,j]); ale hlásí mi to u soucty(n,a,s); Incompatible typesa stím si moc nevím rady.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

Hlasi ti to proto, ze to skutecne nekompatibilni typy jsouPokud chces pole predavat jako parametr (a nechces si komplikovat zivot s dynamickymi poli), pak si nadeklaruj typ:Type TPole = array[1..20, 1..20] of real;Pak vsechna deklarovana pole pozdeji budou typu TPole - parametr procedury, a,s apod.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 38.0

Už jsem to spravil děkuji za pomoc

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Procedura, Úplný začátečník, Posloupnost, Matice


Určitě si přečtěte

Bitcoin: analýza jeho ceny a prognóza, kam se může ubírat

Bitcoin: analýza jeho ceny a prognóza, kam se může ubírat

** Podívejte se na několik různých pohledů na cenu Bitcoinu ** Různé predikce se často silně rozcházely, teď se ale celkem shodují ** Pravděpodobný je krátkodobý pokles, ale dlouhodobý růst

Martin Miksa | 56

Evoluce stále pokračuje, lidem se do kolen vrací kost navíc

Evoluce stále pokračuje, lidem se do kolen vrací kost navíc

** O kost zvanou fabella nás evoluce připravila už před miliony let ** V posledních desetiletích se však „ztracená kost“ znovu objevuje ** Anatomové nabádají ortopedy, aby brali fabellu v potaz

Jaroslav Petr | 31



Aktuální číslo časopisu Computer

Velký test Wi-Fi mesh

Nejlepší hodinky pro všechny aktivity

Důležité aplikace na cesty

Jak streamovat video na Twitch