Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <iostream>
- #include <cmath>
- #include <cstdlib>
- #include <ctime>
- //==================================Zmienne Globalne==============================
- int pierwsza;
- int test_NWD1;
- int test_NWD2;
- int a1[10] = {1,2,3,4,5,6,7,8,9,10};
- int a2[10] = {9,9,9,9,9,9,9,9,9,9};
- //===============================Deklaracje Funkcji===============================
- void Temperatura();
- void Modulo();
- void Licznik();
- void Silnia();
- bool Test_Pierwsza(int);
- void NWD();
- int Test_NWD(int, int);
- void RNG();
- void Tabliczka1();
- void Wybory();
- void Losowanko();
- void Test_wskazniki();
- void Zwieksz_dwukrotnie(int *p);
- void Sorter();
- void Zamien(double *p1, double *p2);
- void Zeruj_tablice(int *tab, int n);
- void Kopiuj_tablice(int *a1, int *a2);
- //======================================Funkcje===================================
- int main() {
- int numer_apki;
- std::cout << "\n \n Jaki program chcesz uruchomic? \n"
- " 1: Konwerter temperatury \n"
- " 2: Dzielenie z reszta (modulo) \n"
- " 3: Wypisanie liczb z przedzialu wybranego przez uzytkownika \n"
- " 4: Obliczenie trojkata, silni i pierwiastka wybranej liczby oraz sprawdzenie czy jest liczba pierwsza \n"
- " 5: Obliczenie najwiekszego wspolnego dzielnika\n"
- " 6: Generator liczb losowych\n"
- " 7: Tablica testowa\n"
- " 8: Symulacja wyborow\n"
- " 9: Losowanie kul/kostek w roznych kolorach\n"
- "10: Test wskaznikow\n"
- "11: Algorytm sortujacy elementy tablicy\n"
- "12: Zerowanie tablicy\n"
- "13: Kopiowanie tablicy\n"
- " 0: Konczy prace aplikacji \n";
- std::cin >> numer_apki;
- if(numer_apki==0) {
- return 0;
- } else if (numer_apki == 1) {
- Temperatura();
- } else if (numer_apki == 2) {
- Modulo();
- } else if (numer_apki == 3) {
- Licznik();
- } else if (numer_apki == 4) {
- Silnia();
- } else if (numer_apki == 5) {
- NWD();
- }else if (numer_apki == 6) {
- RNG();
- }else if (numer_apki == 7) {
- Tabliczka1();
- }else if (numer_apki == 8) {
- Wybory();
- }else if (numer_apki == 9) {
- Losowanko();
- }else if (numer_apki == 10) {
- Test_wskazniki();
- }else if (numer_apki == 11) {
- Sorter();
- }else if (numer_apki == 12) {
- Zeruj_tablice(a1, 10);
- for (int i = 0; i < 10; i++) {
- std::cout << a1[i] << " ";
- }
- main();
- }else if (numer_apki == 13){
- Kopiuj_tablice(a1, a2);
- main();
- } else {
- printf("Zly numer \n");
- main();
- }
- }
- void Temperatura() {
- double ctemp;
- double ftemp;
- std::cout << "\n Podaj temperature w stopniach celsjusza";
- std::cin >> ctemp;
- ftemp = ((ctemp * 1.8) + 32);
- printf("temperatura w stopniach Fahrenheita wynosi ");
- std::cout << ftemp << "\n";
- main();
- }
- void Modulo(){
- int dzielna;
- int dzielnik;
- int reszta;
- std::cout << "Jaka liczbe calkowita dzielimy?\n";
- std::cin >> dzielna;
- std::cout << "Przez jaka liczbe calkowita dzielimy?\n";
- std::cin >> dzielnik;
- reszta = dzielna % dzielnik;
- if (reszta == 0){
- std::cout << "Pierwsza liczba jest podzielna przez druga";
- }else{
- std::cout << "Pierwsza liczba nie dzieli sie przez druga";
- }
- main();
- }
- void Licznik (){
- int przedzial1;
- int przedzial2;
- std::cout << "Podaj jedna z granic przedzialu";
- std::cin >> przedzial1;
- std::cout << "Podaj druga z granic przedzialu";
- std::cin >> przedzial2;
- while (przedzial1 < przedzial2) {
- std::cout << przedzial1;
- std::cout << " ";
- ++przedzial1;
- }
- while(przedzial1 > przedzial2) {
- std::cout << przedzial2;
- std::cout << " ";
- ++przedzial2;
- }
- if (przedzial1 == przedzial2){
- std::cout << przedzial1;
- }
- main();
- }
- void Silnia(){
- int liczba;
- int silnia = 1;
- int trojkat = 0;
- std::cout << "Jaki tam numerek chcesz sprawdzic, wariacie?\n";
- std::cin >> liczba;
- for( int i = 1; i <= liczba; i++){
- trojkat += i;
- silnia *= i;
- }
- pierwsza = liczba;
- if (!Test_Pierwsza(pierwsza)){
- std::cout << "\n" << liczba << " nie jest liczba pierwsza";
- } else {
- std::cout << "\n" << liczba << " jest liczba pierwsza";
- }
- std::cout << "\nTrojkatem liczby " << liczba << " jest " << trojkat << std::endl;
- std::cout << "Za to " << liczba << "! jest rowna " << silnia << "\n";
- std::cout << "Pierwiastek tej liczby jest rowny " << static_cast<double> (sqrt(liczba));
- main();
- }
- bool Test_Pierwsza(int){
- bool test;
- for (int j = 2; j <= sqrt(static_cast<double>(pierwsza)); j++ ){
- if(pierwsza % j == 0){
- test = false;
- break;
- } else {
- test = true;
- }
- }
- return test;
- }
- void NWD(){
- std::cout << "Podaj liczby, ktorych chcesz uzyskac najwiekszy wspolny dzielnik\n";
- std::cin >> test_NWD1;
- std::cout << "Teraz druga\n";
- std::cin >> test_NWD2;
- std::cout << "NWD liczb " << test_NWD1 << " oraz " << test_NWD2 << " to " << Test_NWD(test_NWD1, test_NWD2);
- main();
- }
- int Test_NWD(int, int){
- int przechowalnia;
- if (test_NWD1 < test_NWD2) {
- przechowalnia = test_NWD2;
- test_NWD2 = test_NWD1;
- test_NWD1 = przechowalnia;
- }
- if (test_NWD1 % test_NWD2 != 0){
- przechowalnia = (test_NWD1 % test_NWD2);
- test_NWD1 = test_NWD2;
- test_NWD2 = przechowalnia;
- Test_NWD(test_NWD1, test_NWD2);
- }
- return test_NWD2;
- }
- void RNG(){
- int ile_wynikow;
- srand(time(NULL));
- std::cout << "Ile liczb wygenerowac?\n";
- std::cin >> ile_wynikow;
- for (int i = 1; i <= ile_wynikow; i++){
- std::cout << rand() % ile_wynikow + 1 << " ";
- }
- main();
- }
- void Tabliczka1(){
- int rozmiar;
- int i;
- int przedzial;
- std::cout << "Podaj rozmiar tablicy\n";
- std::cin >> rozmiar;
- std::cout << "Podaj gorna granice przedzialu\n";
- std::cin >> przedzial;
- std::srand(time(NULL));
- int tablica[rozmiar];
- for(i=0; i<rozmiar; i++) {
- tablica[i] = {std::rand() % przedzial + 1};
- }
- for(i=0; i<rozmiar; i++){
- std::cout << tablica[i] << " ";
- }
- main();
- }
- void Wybory(){
- int glosujacy;
- int i, k;
- int kandydaci;
- std::cout << "Podaj liczbe waznych glosow\n";
- std::cin >> glosujacy;
- std::cout << "Podaj ilu kandydatow bierze udzial w wyborach\n";
- std::cin >> kandydaci;
- std::srand(time(NULL));
- int glosy[glosujacy];
- int wyniki[kandydaci];
- for(k=0;k<kandydaci;k++) {
- wyniki[k] = {0};
- }
- for(i=0; i<glosujacy; i++) {
- glosy[i] = {std::rand() % kandydaci +1};
- std::cout << glosy[i] << " ";
- ++wyniki[glosy[i]-1];
- }
- std::cout << "\n";
- for(k=0;k<kandydaci;k++) {
- std::cout << "Kandydat nr " << k +1 << " zdobyl ilosc glosow rowna " << wyniki[k] << "\n";
- }
- main();
- }
- void Losowanko(){
- int losu;
- const char *kolory[4]= {"zielona", "pomaranczowa", "niebieska", "czerwona"};
- const char *ksztalty[2] = {"kostka", "kulka"};
- srand(time(NULL));
- std::cout << "Podaj ile chcesz wylosowac przedmiotow\n";
- std::cin >> losu;
- if (losu == 0){
- std::cout << "Nie chcesz nic wylosowac? No to trudno :c\n";
- } else{
- std::cout << "Wylosowane przedmioty to: \n" ;
- for(int i=1; i<=losu;i++){
- std::cout << kolory[rand() % 4] << " " << ksztalty[rand() % 2] << "\n";
- }
- }
- main();
- }
- void Test_wskazniki(){
- int a = 5;
- int b = 6;
- std::cout << "a przed podwojeniem jest rowne " << a << "\n";
- std::cout <<" b przed podwojeniem jest rowne " << b << "\n";
- Zwieksz_dwukrotnie(&a);
- Zwieksz_dwukrotnie(&b);
- std::cout << "a po podwojeniu jest rowne " << a << "\n";
- std::cout <<" b po podwojeniu jest rowne " << b << "\n";
- main();
- }
- void Zwieksz_dwukrotnie(int *p){
- *p = *p * 2;
- }
- void Sorter(){
- int i;
- int rozmiar;
- int najnizszy;
- int j;
- std::cout << "Ile elementow powinna miec tablica?\n";
- std::cin >> rozmiar;
- double tablica[rozmiar];
- for (i=0; i<rozmiar; i++){
- std::cout << "Podaj wartosc, komorki " << i + 1 << "\n";
- std::cin >> tablica[i];
- }
- std::cout << "Wartosci w tablicy przed sortowaniem\n";
- for (i=0; i<rozmiar; i++){
- std::cout << tablica[i] << " ";
- }
- for (i=0; i<rozmiar; i++){
- najnizszy = i;
- for(j=i+1; j<rozmiar;j++){
- if (tablica[j] < tablica[najnizszy]){
- najnizszy = j;
- }
- if (i != najnizszy){
- Zamien(&tablica[i], &tablica[najnizszy]);
- }
- }
- }
- std::cout << "\nWartosci w tablicy po sortowaniu\n";
- for (i=0; i<rozmiar; i++){
- std::cout << tablica[i] << " ";
- }
- main();
- }
- void Zamien(double *p1, double *p2){
- double przechowalnia = *p1;
- *p1 = *p2;
- *p2 = przechowalnia;
- }
- void Zeruj_tablice(int *p, int n){
- while (n-- >0){
- *p = 0;
- p++;
- }
- }
- void Kopiuj_tablice(int *p1, int *p2){
- int i=0;
- for(i=0;i<10;i++){
- *p2 = *p1;
- p1++;
- p2++;
- }
- for (i = 0; i<10;i++){
- std::cout << a2[i];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement