Przejdź do zawartości

Wikipedysta:Frank01/brudnopis

Z Wikibooks, biblioteki wolnych podręczników.

Ćwiczenie 1

[edytuj]

Napisać program, który czyta ze strumienia standardowego wejścia i zmienia małe litery na wielkie i odwrotnie (nie bierzemy pod uwagę polskich znaków), wypisując wynik do strumienia standardowego wyjścia. Nastepnie zmodyfikować go tak, aby pracował na plikach: wejściowym oraz wyjściowym, podanych jako parametry programu.

Ćwiczenie 2

[edytuj]

Mamy tablice kwadratowa, ktorej wymiarem jest liczba nieparzysta. Napisz program, ktory wypelni ja zerami i jedynkami w nastepujacy sposob:

0 0 1 0 0
0 1 0 1 0
1 0 0 0 1
0 1 0 1 0
0 0 1 0 0

Ćwiczenie 3

[edytuj]

Dany jest plik:

+-----------+----+-----------+--------------+
|PESEL      |Płeć|Imię       |Nazwisko      |
+-----------+----+-----------+--------------+
 45679815845  M   Tomasz      Buczakowski
 48491848438  M   Andzej      Krzemień
 81871681861  K   Karolina    Cubisz
 78168181348  M   Aleksander  Buczykowski
 48618481389  M   Jerzy       Apostoł
 56884864684  K   Magdalena   Koczkowska
 84184864889  M   Patryk      Rutkowski
 93818984869  M   Daniel      Dworkowski
 48498386181  K   Karina      Puszkowski
 78681864864  M   Jakub       Buczakowski
 48648848646  M   Stefan      Buczakowski
 84681846844  K   Anna        Stepaniuk
 45784698943  M   Grzegorz    Warszawski
  1. Wypisać wszystkie nazwiska kończące się na "ski" w porządku alfabetycznym, bez powtórzeń.
  2. Wypisać w odwrotnym porządku alfabetycznym osobno imiona żeńskie i męskie.

Ćwiczenie 4

[edytuj]

Napisz funkcje wypisującą liczby pierwsze (lub złożone) z podanego zakresu liczb.

Podpowiedź: Należy użyć algorytmu sita Eratostenesa.

Ćwiczenie 5

[edytuj]

Mamy taki oto plik źrodłowy:

#include <iostream>

using namespace std;

class wydatkiMiesieczne
{
   public:
      
      //w tym miejscu wpisz brakujace pola klasy
            
   private:
      int cenaChleb;  //                                            
      int cenaMleko;  //ceny produktow (przypisz je w konstruktorze)
      int cenaGazeta; //                                            
     
      bool zakupChleba; //
      bool zakupMleka;  //zmienne true/false
      bool zakupGazety; //
     
      int pensja; //pensja obiektu (człowieka)
      int sumaWydatkowMiesiecznych; //zmienna ktora sumuje wydatki
      bool czyWystarczaNaMiesiac; //zmienna przechowuje true jesli pensja jest wieksza niz wydatki; jesli jest odwrotnie - false
};

int main(int argc, char** argv)
{
   wydatkiMiesieczne Marian;
   Marian.zarobek(200); 
   Marian.czyKupujeChleb(true);
   Marian.czyKupujeMleko(true);
   Marian.czyKupujeGazete(true);
   Marian.obliczanieWydatkowMiesiecznych();
   cout << "Pensja Mariana " << (Marian.czyWystarczaPieniedzyNaWydatkiMiesieczne() ? "jest wystarczajaca" : "nie jest wystarczajaca");
   cout << " na pokrycie kosztow codziennych zakupow" << endl;
  
   wydatkiMiesieczne* Jadwiga = new wydatkiMiesieczne;
   Jadwiga->zarobek(12000);
   Jadwiga->czyKupujeChleb(true);
   Jadwiga->czyKupujeMleko(true);
   Jadwiga->czyKupujeGazete(false);
   Jadwiga->obliczanieWydatkowMiesiecznych();
   cout << "Pensja Jadwigi " << (Jadwiga->czyWystarczaPieniedzyNaWydatkiMiesieczne() ? "jest wystarczajaca" : "nie jest wystarczajaca");
   cout << " na pokrycie kosztow codziennych zakupow" << endl;
   delete Jadwiga;
  
   getchar();
   return 0;
}

Program ten oblicza czy pensja, ktorą dostaje człowiek zdefiniowany jako obiekt klasy wydatkiMiesieczne, jest w stanie pokryc uproszczone wydatki miesięczne. Jednak program nie jest kompletny. Uzupełnij brakujące pola klasy w sekcji public stosując się do poniższych instrukcji:

  • Użyj konstruktora do przypisania wartosci polom danych:
+-----------+-----------------+
|nazwa pola |wartosc ktora ma |
|  danych   |zostac przypisana|
+-----------+-----------------+
| cenaChleb |         2       |
| cenaMleko |         3       |
| cenaGazeta|         2       |
|           |                 |
| sumaWydat-|                 |
| kowMiesie-|         0       |
| cznych    |                 |
+-----------+-----------------+
  • Pamiętaj że zmienne cenaChleb, cenaMleko i cenaGazeta reprezentują cene za jedną sztukę danego produktu, a my bedziemy potrzebować ceny za zakup tych towarów przez cały miesiąc (przyjmijmy ze miesiąc ma 30 dni).
  • Nie tworz innych funkcji w sekcji public niż te, które zostały wywołane w funkcji main().
  • Funkcja zarobek() ma pobierac liczbe reprezentującą zarobek danej osoby (z zł) i wpisywac tą wartość w zmienną pensja.
  • Funkcje z przedrostkami czyKupuje- mają przypisywac wartość (true - jeśli kupuje dany produkt; false - jeśli nie) do swoich odpowiednikow z sekcji private (np. funkcja czyKupujeMleko() przypisze wartość zmiennej zakupMleka).
  • Funkcja obliczanieWydatkowMiesiecznych() ma obliczyć kwotę jaka bedzie wydana przez miesiąc kupowania ustalonych przez obiekt produktów i przypisać wynik zmiennej sumaWydatkowMiesiecznych.
  • Funkcja czyWystarczaPieniedzyNaWydatkiMiesieczne() ma obliczyc czy pensja danego obiektu jest wystarczająca na pokrycie kosztów zakupów, przekazać wynik true, albo false do zmiennej czyWystarczaNaMiesiac i zwrocić go.