Nejste přihlášen/a.
Dobrý den, poradili byste mi prosím s tímto programem?
Druhý obrázek je zdrojový kód, co mám upravit a třetí obrázek je to, co jsem zatím udělala.
Mám tam spíš použít for n:=1 to 12 do begin...? Nebo bude to takhle fungovat a musím upravit jen to, co se má vypsat?
Tady je soubor v .pas leteckaposta.cz/...
Ještě k tomu patří jednotka leteckaposta.cz/...
Moc děkuji
Mám tam spíš použít for n:=1 to 12 do begin...? Nebo bude to takhle fungovat
Je to jedno. Oba budou fungovat. Ten tvůj současný zápis je hezčí (obecnější, čistčí).
Několik vylepšení:
Dále:
Moc děkuji, dělám to v pascalu - tam na velikosti písmen nezáleží, ale pro přehlednost je to určitě lepší, děkuji. A co mám prosím vypsat do writeln? Výsledek by měl vypadat nějak takto:
A když nezáleží na velikosti písmen, tak nemůžu nehradit k N?
Jak mám prosím zapsat ukládání do pole S[N] a jak to mám opravit to np? Děkuji
co mám prosím vypsat do writeln?
Místo T=X[i,j]+T budeš mít S[k]=X[i,j]+S[k] a v writeln budeš místo T:13... mít S[k]:13...
Ta náhrada k-N byl jen můj nápad. Udělej si to, jak ti to vyhovuje.
Co je np a kde se vzalo doteď netuším. Že by se odkazovalo na tu knihovnu uNRGauss?
Děkuji, ale jak mám to S deklarovat, už ho tam mám jako reálné a když do var napíšu S[k], tak to mi nebere, můžu to nechat tak jen s tím S?
Musíš dát stejně jako v tom ukázkovém programu:
var
S : array of real;
Máš tam to SetLength(S,n)?
Nemusíš to vůbec řešit s tím S jako polem. Klidně to udělej jak jsi to měla původně: S jako jedno reálné číslo. Já jen že s tím vektorem to vypadá "čistčí".
Děkuji a jak to mám prosím všechno vypsat? Mám to udělat pro každé k do 12 nebo to jde nějak zjednodušit?
Co chceš vypisovat? Ty součty nebo tu matici jako jsi poslala na obrázku? Tu matici můžeš vypisovat na tom oranžovém řádku, kde teď jen počítáš součet.
Po řádku X:=B/A budeš mít: writeln("H^-1 pro n=", k);
a okolo oranžového řádku budeš mít:
for i=1 to k dobegin
for j=1 to k do begin
write (X[k]:10, " ");
S[k]=S[k]+X[i-1,j-1]
end
writeln
end
writeln ("Soucet prvků: ", S[k], "=n^2=", k^2);
nebo něco takového. Určitě si to budeš umět doladit sama a doplnit chybějící syntaktické znaky.
Co prosím znamená to X[k]? To je matice k x k? Mám ji deklarovat? Nejde mi to stjeně jako s S. Když to udělám bez [k], nevypíše to proměnnou takového typu. Děkuji
Promiň, ne X[k], ale X[i-1,j-1].
Vidím, že moc nebo vůbec nechápeš rozdíl mezi proměnnou o jedné hodnotě ("X"), polem X (tj.skupinou několika proměnných - X[k], te´dy X[1], X[2], ..., X[N]) a maticí X (polem proměnných, které jsou sami polem, tedy pole polí, nebo též dvourozměrnou maticí proměnných, v níž konkrétní proměnná má index/polohu i,j - X[i,j], A[m,n], apod.)
Až tohle pochopíš, tak pak budeš chápat i jak to deklarovat ( var X: ...), iniciovat (SetLength) a přistupovat k hodnotách (např. S=X[r,s]).
Potom pro tebe bude hračka opravovat nebo měnit programy, jako je tento úkol.
Moc děkuji a jak prosím udělám cyklus pro to vypsání?
Zkoušela jsem na 22. řádku dát for k:=1 to 12 do begin
Děkuji
Myslím, že nějak takto by to mohlo být, ale opravdu si to odzkoušej sama. Koukni, co to vypisuje, co se změní, když něco v programů změníš, přehodíš řádky apod. Jen tak se naučíš programovat. Nemá smysl, abychom ti tady poslali kompletní zdrojový kód.
Nevím, jak dlouho trvá spočítání pro k=12, ale pro rychlejší zkoušení programu to můžeš dočasně omezit jen třeba do k=5.
Moc moc děkuji, už to funguje. Ještě by mě zajímalo, proč když do zdrojového kódu přidám knihovnu crt, tak se po spuštění exe souboru všechno rychle načte, ale pak už nemůžu najet na začátek? Děkuji
Zkoušela jsem i jiný pc, ale je to tam stejné.
Nevím, co je "najet na začátek". Jako že se ti odroluje výpis?
Bez CRT můžeš najet zpátky na začátek?
Nepouští se verze bez crt v "DOSovém okně" a verze s crt si otevírá vlastní Windowsové okno?
Nevím, jak to přesně FreePascal překládá. Na Windows jsem ho ještě běžet v reálu neviděl.
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.