Diskuze: PASCAL:Podprogramy
Zobrazeno 2 zpráv z 2.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |


Nie som nejako zbehlý v pascali ale tvojou úlohou by malo byť nemať celý kód na všetky tie podúlohy v hlavnej funkcii ale rozdeliť si to do viacerých procedúr alebo funkcií. Nenašiel som o tom články priamo tu na itnetwork tak niečo o funkciách nájdeš tu a o procedúrach tu a o dynamických poliach tu.
Ďalšia vec je pomenúvať si premenné nejako zmysluplne a nie ako máš ty "m,n,i,j,s,r,sums,sumr" keď som na to pozrel nevedel som vôbec ktorá na čo slúži a taktiež formátovanie kódu, dobré je napr. medzi úsekmi kódu ktoré spolu viacej súvisia vložiť medzeru alebo napr. pri priraďovaní hodnôt oddeliť kód medzerami - určite sa číta lepšie i := 1 než i:=1
Tu som aj narýchlo napísal nejaký kód snáď bude fungovať ako má
Keďže aj matica aj jej rozmery
sú globálne premenné tak väčšina procedúr nepotrebovala mať žiadne
parametre.
program matice;
uses crt;
var
matrix : array of array of Integer;
rows, columns, i, j, sumOfFirstColumn, sumOfLastColumn : Integer;
//napln maticu nahodnymi prvkami
procedure initMatrix();
var i, j : Integer;
begin
for i := 0 to rows - 1 do begin
for j := 0 to columns - 1 do begin
matrix[i][j] := random(99) + 1;
end;
end;
end;
//vypis maticu
procedure printMatrix();
var i, j : Integer;
begin
for i := 0 to rows - 1 do begin
for j := 0 to columns - 1 do begin
write(matrix[i,j] : 8);
end;
writeln();
end;
end;
//vrat sucet prvkou daneho stlpca
function sumOfColumn(columnIndex : Integer) : Integer;
var sum, i : Integer;
begin
sum := 0;
for i := 0 to rows - 1 do begin
sum := sum + matrix[i][columnIndex];
end;
sumOfColumn := sum;
end;
//vrat index najmensieho prvku v poli
function findIndexOfMinValue(var size : Integer; arr : array of Integer) : Integer;
var minIndex, i : Integer;
begin
minIndex := 0;
for i := 1 to size - 1 do begin
if (arr[i] < arr[minIndex]) then begin
minIndex := i;
end;
end;
findIndexOfMinValue := minIndex;
end;
//zisti sucty vo vsetkych stlpcoch a vypis ten s najmensim
procedure findAndPrintMinSumOfColumns();
var i, j, minIndex : Integer;
sumsOfColumns : array of Integer;
begin
SetLength(sumsOfColumns, columns);
for i := 0 to columns - 1 do begin
sumsOfColumns[i] := sumOfColumn(i);
end;
minIndex := findIndexOfMinValue(columns, sumsOfColumns);
writeln('Najmensi sucet je ', sumsOfColumns[minIndex], ' v stlpci cislo ', minIndex + 1);
end;
begin
clrscr;
randomize;
write('Zadej pocet radku matice: ');
readln(rows);
write('Zadej pocet sloupcu matice: ');
readln(columns);
//dynamicke vytvorenie 2D pola pretoze na zaciatku sme nepoznali jeho rozmery
SetLength(matrix, rows, columns);
initMatrix();
printMatrix();
sumOfFirstColumn := sumOfColumn(0);
sumOfLastColumn := sumOfColumn(columns - 1);
writeln('Sucet prvkov v prvom stlpci = ', sumOfFirstColumn);
writeln('Sucet prvkov v poslednom stlpci = ', sumOfLastColumn);
if (sumOfFirstColumn = sumOfLastColumn) then begin
writeln('Sucty v prvom a poslednom stlpci sa rovnaju');
end
else if (sumOfFirstColumn > sumOfLastColumn) then begin
writeln('Sucet v prvom stlpci je vacsi ako v poslednom');
end
else begin
writeln('Sucet v poslednom stlpci je vacsi ako v prvom');
end;
findAndPrintMinSumOfColumns();
readln;
end.
Zobrazeno 2 zpráv z 2.