Diskuze: Naplnenie poľa číslami zo vstupu
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 8 zpráv z 8.
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 |
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
#include<stdio.h>
int main(void){
int array[5];
int sum = 0;
int i;
printf("Zadajte 5 cisel: ");
scanf("%d %d %d %d %d", &array[0], &array[1], &array[2], &array[3], &array[4]);
for(i = 0; i < 5; i++) sum += array[i];
printf("Sucet cisel je %d\n", sum);
return 0;
}
Ahoj stačí aby si načítaval hodnoty do poľa v cykle, v ktorom môžeš rovno aj spočítavať súčet
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 5
int main() {
int numbers[ARRAY_SIZE];
int i, sum = 0;
printf("Zadajte %d cisel: \n", ARRAY_SIZE);
for(i = 0; i < ARRAY_SIZE; i++){
scanf("%d", &numbers[i]);
sum += numbers[i];
}
printf("Sucet cisiel je %d\n", sum);
return 0;
}
scanf("%d %d %d %d %d", &array[0], &array[1], &array[2], &array[3], &array[4]);
Tento kód síce funguje, ale hľadám niečo všeobecnejšie, čo by fungovalo pri rôznej dĺžke poľa (ktorá môže byť dopredu známa).
Pokud chceš aby to fungovalo pro různý počet prvků v poli, sestav si funkci pro proměnný počet parametru nebo použij způsob který zde prezentoval Matúš Olejník. Nevidím důvod proč se vyhýbat řídícím příkazům.
Popř. by šlo použít while (scanf() >0) protože scanf při neplatném
načtení vrátí záporný int. Pak bys nemusel ani dopředu znát počet
čísel.
Není testováno, spíše myšlenka. Jsem na telefonu.
Kódu zdar.
Ďakujem za všetky radi. Môj problém bol v tom že som potreboval zadať celý vstup cez jeden riadok. Myslel som si, že ak dám scanf() do for-cyklu, tak za každou hodnotou budem musieť stlačiť ENTER a vstup nebude v jednom riadku, ale keď som vyskúšal for-cyklus, tak program fungoval aj keď som hodnoty oddeľoval medzerou.
Program funguje tak že funkce scanf() čte znaky dokud jsou platné v rámci specifikace formátu. Tuto hodnotu, pokud je platná, přiřadí do promenne kterou určuje další argument. Zbylé znaky zůstávají ve vstupním bufferu a mohou být načteny další vstupní funkcí. Funkce scanf() se provede až po zadání znaku nového řádku. V nové interakci cyklu, ve které opět figuruje funkce scanf(), jsou načteny další znaky a celý proces pokračuje dokud platí podmínka cyklu.
Zobrazeno 8 zpráv z 8.
