Úloha 1.1
Napíšte program, zdrojový kód, v jazyku C++ použitím štandardu C++17, ktorý realizuje nasledovnú činnosť.
Program načíta celé číslo n
zo štandardného vstupu a následne načíta n
celých čísel. Vypočíta ich súčet a priemer (
zaokrúhlený nadol na celé číslo) a vypíše ich na štandardný výstup.
Príklady vstupov / výstupov programu
Vstup
6
5 10 20 30 40 50
Výstup
Súčet: 155
Priemer: 25.83
Rozbaľ pre ukážku riešenia
#include <iostream>
int main() {
int n;
std::cout << "Zadajte počet čísel: ";
std::cin >> n;
if (n <= 0) {
std::cerr << "Počet čísel musí byť kladné celé číslo." << std::endl;
return 1;
}
int* cisla = new int[n];
std::cout << "Zadajte " << n << " celých čísel:" << std::endl;
for (int i = 0; i < n; ++i) {
std::cin >> cisla[i];
}
int sucet = 0;
for (int i = 0; i < n; ++i) {
sucet += cisla[i];
}
float priemer = (float) sucet / (float) n;
std::cout << "Súčet: " << sucet << std::endl;
std::cout << "Priemer: " << priemer << std::endl;
delete[] cisla;
return 0;
}
Vysvetlenie
- Program načíta počet čísel
n
. Ak jen
neplatné (napríklad záporné alebo nulové), program vypíše chybové hlásenie a ukončí sa. - Dynamicky alokuje pole
cisla
veľkostin
pomocou operátoranew
. - V cykle načíta
n
celých čísel od používateľa a uloží ich do poľa. - V ďalšom cykle vypočíta súčet všetkých zadaných čísel.
- Priemer sa vypočíta celočíselným delením súčtu počtom čísel (
sucet / n
), čo automaticky zaokrúhli výsledok nadol na najbližšie celé číslo. - Program vypíše súčet a priemer.
- Na záver uvoľní dynamicky alokovanú pamäť pomocou
delete[]
.