fork download
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. struct Struktura
  6. {
  7. int liczba;
  8. char napis[10];
  9. };
  10.  
  11. // Inicjalizacja tablicy
  12. void inicjalizuj(Struktura *&tab, int roz){
  13. for (int i = 0; i < roz; i++){
  14. tab[i].liczba = rand() % 100 + 1;
  15. tab[i].napis[0] = '\0';
  16. }
  17. }
  18.  
  19. // Mnożenie liczby razy 2 i dodanie na końcu łańcucha znaku 'f' ilekroć wywoływana jest funkcja.
  20. void modyfikuj(Struktura &str){
  21. str.liczba *= 2;
  22. for (int i = 0; i < 10; i++)
  23. if ((i + 1) < 10 && str.napis[i] == '\0'){
  24. str.napis[i + 1] = '\0';
  25. str.napis[i] = 'f';
  26. break;
  27. }
  28. }
  29.  
  30. void wypisz(const Struktura &str){
  31. std::cout << "Liczba: " << str.liczba << ", Napis:" << str.napis << std::endl;
  32. }
  33.  
  34. int main(int argc, char* argv[]){
  35. srand(time(NULL));
  36.  
  37. Struktura *tab = new Struktura[3];
  38. inicjalizuj(tab, 3);
  39.  
  40. modyfikuj(tab[0]);
  41. wypisz(tab[0]); // Wypisze jedno 'f';
  42. modyfikuj(tab[0]);
  43. wypisz(tab[0]); // Wypisze dwa 'f';
  44.  
  45. for (int i = 0; i < 3; i++)
  46. modyfikuj(tab[0]);
  47. wypisz(tab[0]); // Wpysze pięć 'f', bo pętla dodała kolejne trzy.
  48.  
  49. delete[] tab;
  50. tab = nullptr;
  51.  
  52. return 0;
  53. }
Success #stdin #stdout 0s 3272KB
stdin
Standard input is empty
stdout
Liczba: 50, Napis:f
Liczba: 100, Napis:ff
Liczba: 800, Napis:fffff