Kodused ülesanded
1. Funktsioonimallid
NB!
Kõik funktsioonimallid paiguta faili kodu4_fun_template.h. Funktsioon andmed_failist paiguta faili kodu4_fun_template.cpp.
- Koosta mall funktsiooni
liidajaoks, millel on kaks malliparameetrit ja mis tagastab argumentide summa. Katsetamainfunktsioonis erinevaid parameetrite kombinatsioone (<int, int>, <string, string>, <int, double>, jne).
Uuri, kas on võimalik parameetrite tüübile piiranguid seada.
- Koosta mall funktsiooni
summajaoks, millel on suvaline arv sama tüüpi parameetreid ja mis tagastab argumentide summa. Katsetamainfunktsioonis erinevaid parameetrite tüüpe ja arve. Abiks võib olla võtmesõnaauto. Lisaks võivad abiks olla ka järgnevad lingid: https://en.cppreference.com/w/cpp/utility/variadic, https://en.cppreference.com/w/cpp/language/parameter_pack. - Koosta mall funktsiooni
on_vahemikusjaoks, millel on üks<template>parameeter ja kaksinttüüpi argumenti. Funktsioon tagastab tõeväärtuse, kas parameetrina antud arv asub etteantud vahemikus, otspunktid kaasa arvatud. Katsetamainfunktsioonis erinevaid parameetri väärtuseid ja vahemikke. Näide kasutuse kohta:on_vahemikus<5>(1, 10).
2. Failist lugemine ja faili kirjutamine
Antud on tekstifail, milles on igal real ujukomaarvud, eraldajaks ;;. Ridade arv ei ole ette teada ja ujukomaarvude arv ridades on erinev.
Näide faili sisust
1.1;;2.3;;5;;9;;5.3 4.1;;2.2;;5.6;;9.2 3.1;;2.4;;5.2;;9.1;;3.2;;2.5 8.1;;5.2;;4.5;;3.9
Koosta funktsioon andmed_failist, mis saab argumendiks sõnena faili nime ja mis loeb andmed failist ning leiab iga rea jaoks aritmeetilise keskmise ja kõikide arvude summa üle faili. Tulemused kirjuta faili tulemused.txt järgmiselt: kõigepealt igale reale rea aritmeetiline keskmine ja viimasele reale kõigi elementide summa.
Näites toodud faili korral on faili tulemused.txt sisu järgmine:
4.54 5.275 4.25 5.425 91.0
Vihje. Siin võib kasulik olla andmestruktuur vector.
Abiks alustamisel (kodu4_mall.zip)