Posle časa 05

Petlje: ponavljanje, brojanje i obrada cifara

Dva programa napiši na papiru, a zatim u Vežbaonici završi sve zadatke Časa 05 koje nisi završila na času.

Napiši ceo C program koji učitava cele brojeve jedan po jedan. Unos 0 označava kraj i ne obrađuje se. Program zatim prikazuje koliko je uneto pozitivnih brojeva, koliko negativnih i koliki je zbir svih obrađenih brojeva. Program mora pravilno da radi i kada je prvi unos 0. Proveri nizove: 4, -2, 7, -1, 0; zatim 0; zatim -5, -3, 0.

Mali trag

Učitaj prvi broj pre while petlje. U telu prvo dodaj broj u zbir, zatim pomoću if/else povećaj odgovarajući brojač i na kraju učitaj sledeći broj.

Pogledaj rešenje

#include <stdio.h> int main(void) { int broj, pozitivnih = 0, negativnih = 0, zbir = 0; scanf("%d", &broj); while (broj != 0) { zbir = zbir + broj; if (broj > 0) { pozitivnih = pozitivnih + 1; } else { negativnih = negativnih + 1; } scanf("%d", &broj); } printf("Pozitivnih: %d\n", pozitivnih); printf("Negativnih: %d\n", negativnih); printf("Zbir: %d\n", zbir); return 0; } Za 4, -2, 7, -1, 0: pozitivnih 2, negativnih 2, zbir 8. Za prvi unos 0: 0, 0, 0. Za -5, -3, 0: pozitivnih 0, negativnih 2, zbir -8.

Napiši ceo C program koji učitava nenegativan ceo broj. Pomoću jedne petlje određuje broj cifara, zbir cifara i najveću cifru. Broj 0 ima jednu cifru, zbir 0 i najveću cifru 0. Negativan unos je neispravan. Proveri 0, 7, 50725 i 9001.

Mali trag

do-while prirodno obrađuje i broj 0. U svakom prolazu izdvoji cifra = broj % 10, ažuriraj zbir, brojač i najveću cifru, pa ukloni cifru sa broj = broj / 10.

Pogledaj rešenje

#include <stdio.h> int main(void) { int broj, cifra, koliko = 0, zbir = 0, najveca = 0; scanf("%d", &broj); if (broj < 0) { printf("Neispravan unos\n"); return 0; } do { cifra = broj % 10; koliko = koliko + 1; zbir = zbir + cifra; if (cifra > najveca) { najveca = cifra; } broj = broj / 10; } while (broj > 0); printf("Cifara: %d\n", koliko); printf("Zbir: %d\n", zbir); printf("Najveca: %d\n", najveca); return 0; } 0 → 1, 0, 0; 7 → 1, 7, 7; 50725 → 5, 19, 7; 9001 → 4, 10, 9.

Otvori https://aip.zmenix.com/vezbaonica.php i završi sve zadatke iz grupe Čas 05 koje nisi uradila na času. Rešenje prvo napiši na papiru ili u svesci, a zatim ga unesi na sajt i proveri važne delove petlje.

Mali trag

Pre pokretanja napiši početnu vrednost, uslov, promenu i očekivani poslednji prolaz. Ako se rezultat razlikuje, prati petlju red po red umesto da nasumično menjaš kod.

Pogledaj rešenje

Čas 05 ima deset zadataka. Rešenja se nalaze uz svaki zadatak u Vežbaonici. Kod svakog proveri početnu vrednost, granicu, smer promene i početnu vrednost brojača, zbira ili proizvoda.

Ako ti je neko pitanje bilo teško, pošalji mi samo njegov broj i proći ćemo ga na sledećem času.