Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <ctime>
- #include <time.h>
- #include <cstdlib>
- #include <math.h>
- using namespace std;
- bool podzielnosc(int liczba, int numer)
- {
- liczba = abs(liczba);
- int dana;
- int licz = 0;
- while (liczba > 0)
- {
- licz++;
- if (licz == numer)
- {
- dana = liczba % 10;
- if (dana % 2 == 0)
- return true;
- else
- return false;
- }
- liczba /= 10;
- }
- }
- int licznik(int liczba)
- {
- int licznik = 0;
- for (int i = 1; i < (to_string(liczba).length() + 1); i++)
- {
- if (podzielnosc(liczba, i))
- licznik++;
- }
- return licznik;
- }
- void tworz_klaw(int tab[], int n)
- {
- int a;
- for (int i = 0; i<n; i++)
- {
- cout << "Podaj " << i + 1 << " element tablicy "; cin >> a;
- tab[i] = a;
- }
- }
- void tworz_gener(int tab[], int n)
- {
- int a, b;
- cout << "Podaj przedzial losowania liczb "; cin >> a >> b;
- if (a>b)
- swap(a, b);
- for (int i = 0; i<n; i++)
- {
- tab[i] = a + (b - a)*float(rand()) / RAND_MAX;
- }
- }
- int wybor()
- {
- int wyb;
- do
- {
- cout << "Wybierz typ generowania ciągu\n 1 - recznie \n 2 - generowane od - do" << endl;
- cin >> wyb;
- } while (!(wyb == 1 || wyb == 2));
- return wyb;
- }
- void wypisz(int tab[], int dlugosc)
- {
- cout << endl << "Elementy ciagu:" << endl;
- for (int i = 0; i < dlugosc; i++)
- {
- cout << (i + 1) << ". " << tab[i] << endl;
- }
- cout << endl;
- }
- int main()
- {
- int wyb = wybor(), dlugosc, s1 = 0, s2 = 1, k = 0;
- cout << "Podaj dlugosc ciagu: "; cin >> dlugosc;
- int *tablica = new int[dlugosc];
- switch (wyb)
- {
- case 1:
- tworz_klaw(tablica, dlugosc);
- break;
- case 2:
- tworz_gener(tablica, dlugosc);
- break;
- default:
- break;
- }
- wypisz(tablica, dlugosc);
- cout << "Podaj liczbe k przez ktora bedziemy dzielic czesci ciagu: "; cin >> k;
- for (int i = 0; i < dlugosc; i++) // tego elementu nie zapisuje do VOID lub INT bo zrobie szybkie liczenie S1/S2, a nie chce robić dwoch oddzielnych funckji.
- {
- if (tablica[i] % k == 0)
- s1 += tablica[i];
- else
- s2 *= tablica[i];
- }
- cout << "S1: " << s1 << " oraz S2: " << s2 << endl;
- if (licznik(s1) > licznik(s2))
- cout << "Wiecej jest liczb parzystych w S1" << endl;
- else if (licznik(s2) > licznik(s1))
- cout << "Wiecej jest liczb parzystych w S2" << endl;
- else
- cout << "W S1 i S2 jest tyle samo liczb parzystych" << endl;
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement