Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- void WyborZadania();
- double Zad1();
- void fillArray(double *tab, int rozmiar);
- void showArray(double *tab, int rozmiar);
- void reverseArray(double *tab, int rozmiar);
- int Zad3(int *a, int *b);
- void Zad5(int n, double *tab1, double *tab2, double *tab3);
- void Zad6(int n, int *wsk);
- int main() {
- WyborZadania();
- return EXIT_SUCCESS;
- }
- double Zad1(double zm1, double zm2){
- double srednia;
- if(zm1!=0 && zm2!=0){
- srednia = 2/((1/zm1)+(1/zm2));
- }
- return srednia;
- }
- //Zrealizowane przy pomocy wskaznikow
- void fillArray(double *tab, int rozmiar){
- cout << "Rozmiar tablicy: " << rozmiar << endl;
- for(int i = 0; i < rozmiar; i++){
- cout << "Wprowadz double: ";
- cin >> *tab;
- tab++;
- }
- }
- void showArray(double *tab, int rozmiar){
- for(int i = 0; i < rozmiar; i++){
- cout << "(" << i+1 << ":" << *tab << "), ";
- tab++;
- }
- cout << endl;
- }
- void reverseArray(double *tab, int rozmiar){
- double *tab_kopia = new double[rozmiar];
- double *wsk_1 = tab;
- double *wsk_2 = tab_kopia;
- //Kopiowanie tabeli
- for(int i = 0; i < rozmiar; i++){
- double zmienna = *tab;
- *tab_kopia = zmienna;
- tab++;
- tab_kopia++;
- }
- //Odwracanie
- tab = wsk_1;
- tab_kopia = (wsk_2 + rozmiar);
- for(int j = 0; j < rozmiar; j++){
- tab_kopia--;
- double zmienna = *tab_kopia;
- *tab = zmienna;
- tab++;
- }
- delete [] tab_kopia;
- }
- int Zad3(int *a, int *b){
- int min;
- if(*a < *b) min = *a;
- else min = *b;
- return min;
- }
- void Zad5(int n, double *tab1, double *tab2, double *tab3){
- //Sumowanie
- for(int i = 0; i < n; i++){
- tab3[i] = tab1[i] + tab2[i];
- cout << tab3[i] << ", ";
- }
- cout << endl;
- //Przypisywanie wiekszego
- for(int i = 0; i < n; i++){
- if(tab1[i] > tab2[i]) tab3[i] = tab1[i];
- else tab3[i] = tab2[i];
- cout << tab3[i] << ", ";
- }
- //Przepisywanie
- //Najpierw kopiowanie wszystkich tablic
- double tab1_kopia[n], tab2_kopia[n], tab3_kopia[n];
- for(int i = 0; i < n; i++){
- tab1_kopia[i] = tab1[i];
- tab2_kopia[i] = tab2[i];
- tab3_kopia[i] = tab3[i];
- }
- for(int i = 0; i < n; i++){
- tab1[i] = tab2_kopia[i];
- tab2[i] = tab3_kopia[i];
- tab3[i] = tab1_kopia[i];
- cout << tab1[i] << ", " << tab2[i] << ", " << tab3[i] << endl;
- }
- }
- void Zad6(int n, int *wsk){
- *wsk = n;
- }
- void WyborZadania(){
- int zad;
- cout << "Wybierz zadanie: ";
- cin >> zad;
- switch(zad){
- case 1:
- {
- double x,y;
- do{
- cout << "Liczba 1: ";
- cin >> x;
- cout << "Liczba 2: ";
- cin >> y;
- double srednia = Zad1(x,y);
- cout << srednia << endl;
- }while(x!=0 && y!=0);
- break;
- }
- case 2:
- {
- int n = 5;
- double *tablica = new double[n];
- fillArray(tablica, n);
- showArray(tablica, n);
- reverseArray(tablica, n);
- showArray(tablica, n);
- delete [] tablica;
- break;
- }
- case 3:
- {
- int a,b;
- cout << "Wprowadz a:";
- cin >> a;
- cout << "Wprowadz b: ";
- cin >> b;
- // &zmienna: zwraca adres w pamieci zmiennej. Zamiast tego mozna zrobic int *wsk = &zmienna;
- cout << "Mniejsza: " << Zad3(&a, &b);
- break;
- }
- case 4:
- {
- //Zadanie 4 odnosi sie do mnozenia macieży
- //Nie mam pojecia jak to sie robi
- }
- case 5:
- {
- const int n = 5;
- double tab1[n] = {1,3,5,7,9};
- double tab2[n] = {2,4,6,8,10};
- double tab3[n] = {11,12,13,14,15};
- Zad5(n ,tab1, tab2, tab3);
- //showArray(tab3, n);
- break;
- }
- case 6:
- {
- int zmienna = 5;
- int *wsk = &zmienna;
- int n = 2137;
- cout << zmienna << endl;
- Zad6(n, wsk);
- cout << zmienna;
- break;
- }
- default:
- {
- WyborZadania();
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement