Rozwiązane

Język Programowania c++

Zadanie 1.
Napisz funkcję, która dla n elementowej tablicy liczb całkowitych zwraca do
programu największą wartość oraz informację mówiącą o tym, ile razy ta wartość
wystąpiła w tablicy.

Zadanie 2.
Napisz rekurencyjną funkcję, która podaną jako parametr liczbę całkowitą zapisaną
w systemie dziesiętnym wypisze w systemie ósemkowym.

Zadanie 3.
Zdefiniuj strukturę opisującą pracownię zawierającą pola (ilość stanowisk, numer
pracowni, termin zajęć), oraz strukturę opisującą datę. W programie dynamicznie
utwórz zmienną typu strukturalnego opisującą pracownię z polem typu
strukturalnego opisującym datę. Zdefiniuj metodę do wypisywania na ekranie
wartości pól zdefiniowanej struktury opisującej pracownię. Wczytaj z klawiatury
wartości pól, po czym wczytane informacje wypisz na ekranie przy pomocy
zdefiniowanej metody. Przed zakończeniem programu zwolnij pamięć po
dynamicznie utworzonej zmiennej.



Odpowiedź :

Odpowiedź:

Zad 1.

#include <bits/stdc++.h>

#include <math.h>

#include <windows.h>

using namespace std;

int zwroc(int tab[],int n,int& ile1,int& maks1){

   int maks=0,ile=0;

   for(int i=0;i<n;i++){

       if(tab[i]>maks){

           maks=tab[i];

           ile=1;

       }else if(tab[i]==maks) ile++;

   }

   ile1=ile;

   maks1=maks;

}

int main()

{

   int n,maks,*ile1;

   cout<<"Wielkosc tablicy: "; cin>>n;

   int tab[n];

   for(int i=0;i<n;i++){

       cout<<"Wprowadz "<<i+1<<" element tablicy: "; cin>>tab[i];

   }

   int ile;

   zwroc(tab,n,ile,maks);

   cout<<"MAKS: "<<maks<<" Ile: "<<ile;

}

Zad 2.

#include <bits/stdc++.h>

#include <math.h>

#include <windows.h>

using namespace std;

int system_usemkowy(int liczba,int potega){

   if(potega==0){

       cout<<liczba;

       return 0;

   }

           if(liczba>=pow(8,potega)){

               cout<<int(liczba/pow(8,potega));

               int pom=liczba/pow(8,potega);

               liczba-=(pom*pow(8,potega));

           }

   return system_usemkowy(liczba,potega-1);

}

int main()

{

int liczba;

cout<<"Wprowadz liczbe w systemie dziesietnym: ";

cin>>liczba;

cout<<"Liczba w systemie osemkowym: ";

system_usemkowy(liczba,8);

}

Zad 3.

#include <bits/stdc++.h>

#include <windows.h>

using namespace std;

typedef struct{

   int dzien;

   int miesciac;

   int rok;

   int godzina;

   int minuta;

} data;

typedef struct{

   int ilosc_stanowisk;

   int numer_pracowni;

   data termin_zajec;

} pracownia;

pracownia dodaj_pracownie(int ilosc_stanowisk1, int numer_pracowni1, int dzien1, int mieciac1, int rok1, int godzina1, int minuta1){

   pracownia dodanie;

   dodanie.ilosc_stanowisk=ilosc_stanowisk1;

   dodanie.numer_pracowni=numer_pracowni1;

   dodanie.termin_zajec.dzien=dzien1;

   dodanie.termin_zajec.miesciac=mieciac1;

   dodanie.termin_zajec.rok=rok1;

   dodanie.termin_zajec.godzina=godzina1;

   dodanie.termin_zajec.minuta=minuta1;

   return dodanie;

}

void wypisz(pracownia x){

   system("CLS");

   cout<<"Ilosc stanowisk: "<<x.ilosc_stanowisk<<endl;

   cout<<"Numer pracowni: "<<x.numer_pracowni<<endl;

   cout<<"Data dnia zajec:  "<<x.termin_zajec.dzien<<"-"<<x.termin_zajec.miesciac<<"-"<<x.termin_zajec.rok<<" | "<<x.termin_zajec.godzina<<":"<<x.termin_zajec.minuta;

}

int main()

{

   int ilosc_stanowisk,numer,dzien,miesiac,rok,godzina,minuta;

   cout<<"Podaj ilosc stanowisk: "; cin>>ilosc_stanowisk;

   cout<<"Podaj numer pracowni: "; cin>>numer;

   cout<<"Podaj date dnia zajec (np. 1,2,3): "; cin>>dzien;

   cout<<"Podaj date miesiaca zajec (np. 1,2,3): "; cin>>miesiac;

   cout<<"Podaj rok zajec (np. 2020): "; cin>>rok;

   cout<<"Podaj godzine zajec (np. 12): "; cin>>godzina;

   cout<<"Podaj minute zajec (np. 12): "; cin>>minuta;

   pracownia x=dodaj_pracownie(ilosc_stanowisk,numer,dzien,miesiac,rok,godzina,minuta);

   wypisz(x);

   return 0;

}

Wyjaśnienie:

Naj by się przydało bo dobra godzinka pisania ;P