#include <iostream>
#include <ctime>
#include <cstdlib>
struct Struktura
{
int liczba;
char napis[10];
};
// Inicjalizacja tablicy
void inicjalizuj(Struktura *&tab, int roz){
for (int i = 0; i < roz; i++){
tab[i].liczba = rand() % 100 + 1;
tab[i].napis[0] = '\0';
}
}
// Mnożenie liczby razy 2 i dodanie na końcu łańcucha znaku 'f' ilekroć wywoływana jest funkcja.
void modyfikuj(Struktura &str){
str.liczba *= 2;
for (int i = 0; i < 10; i++)
if ((i + 1) < 10 && str.napis[i] == '\0'){
str.napis[i + 1] = '\0';
str.napis[i] = 'f';
break;
}
}
void wypisz(const Struktura &str){
std::cout << "Liczba: " << str.liczba << ", Napis:" << str.napis << std::endl;
}
int main(int argc, char* argv[]){
srand(time(NULL));
Struktura *tab = new Struktura[3];
inicjalizuj(tab, 3);
modyfikuj(tab[0]);
wypisz(tab[0]); // Wypisze jedno 'f';
modyfikuj(tab[0]);
wypisz(tab[0]); // Wypisze dwa 'f';
for (int i = 0; i < 3; i++)
modyfikuj(tab[0]);
wypisz(tab[0]); // Wpysze pięć 'f', bo pętla dodała kolejne trzy.
delete[] tab;
tab = nullptr;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxjc3RkbGliPgoKc3RydWN0IFN0cnVrdHVyYQp7CglpbnQgbGljemJhOwoJY2hhciBuYXBpc1sxMF07Cn07CgovLyBJbmljamFsaXphY2phIHRhYmxpY3kKdm9pZCBpbmljamFsaXp1aihTdHJ1a3R1cmEgKiZ0YWIsIGludCByb3opewoJZm9yIChpbnQgaSA9IDA7IGkgPCByb3o7IGkrKyl7CgkJdGFiW2ldLmxpY3piYSA9IHJhbmQoKSAlIDEwMCArIDE7CgkJdGFiW2ldLm5hcGlzWzBdID0gJ1wwJzsKCX0KfQoKLy8gTW5vxbxlbmllIGxpY3pieSByYXp5IDIgaSBkb2RhbmllIG5hIGtvxYRjdSDFgmHFhGN1Y2hhIHpuYWt1ICdmJyBpbGVrcm/EhyB3eXdvxYJ5d2FuYSBqZXN0IGZ1bmtjamEuCnZvaWQgbW9keWZpa3VqKFN0cnVrdHVyYSAmc3RyKXsKCXN0ci5saWN6YmEgKj0gMjsKCWZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykKCQlpZiAoKGkgKyAxKSA8IDEwICYmIHN0ci5uYXBpc1tpXSA9PSAnXDAnKXsKCQkJc3RyLm5hcGlzW2kgKyAxXSA9ICdcMCc7CgkJCXN0ci5uYXBpc1tpXSA9ICdmJzsKCQkJYnJlYWs7CgkJfQp9Cgp2b2lkIHd5cGlzeihjb25zdCBTdHJ1a3R1cmEgJnN0cil7CglzdGQ6OmNvdXQgPDwgIkxpY3piYTogIiA8PCBzdHIubGljemJhIDw8ICIsIE5hcGlzOiIgPDwgc3RyLm5hcGlzIDw8IHN0ZDo6ZW5kbDsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSl7CglzcmFuZCh0aW1lKE5VTEwpKTsKCglTdHJ1a3R1cmEgKnRhYiA9IG5ldyBTdHJ1a3R1cmFbM107CglpbmljamFsaXp1aih0YWIsIDMpOwoKCW1vZHlmaWt1aih0YWJbMF0pOwoJd3lwaXN6KHRhYlswXSk7CQkvLyBXeXBpc3plIGplZG5vICdmJzsKCW1vZHlmaWt1aih0YWJbMF0pOwoJd3lwaXN6KHRhYlswXSk7CQkvLyBXeXBpc3plIGR3YSAnZic7CgoJZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspCgkJbW9keWZpa3VqKHRhYlswXSk7Cgl3eXBpc3oodGFiWzBdKTsJCS8vIFdweXN6ZSBwacSZxIcgJ2YnLCBibyBwxJl0bGEgZG9kYcWCYSBrb2xlam5lIHRyenkuCgoJZGVsZXRlW10gdGFiOwoJdGFiID0gbnVsbHB0cjsKCglyZXR1cm4gMDsKfQ==