Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <time.h>
- using namespace std;
- double Ukol1(int a, int b)
- {
- int i = 0, suda = 0, soucet = 0;
- while (a < b)
- {
- if (a % 2 == 0)
- {
- soucet += a;
- suda++;
- }
- a++;
- }
- if (suda > 0)
- {
- return double(soucet) / suda;
- }
- else
- {
- return 0;
- }
- }
- long long Ukol2(int n)
- {
- int x, soucetlich = 0;
- while (n > 0)
- {
- if (n % 2 != 0)
- {
- soucetlich += n % 10;
- }
- n /= 10;
- }
- if (soucetlich > 0)
- {
- long long faktorial = 1;
- while (soucetlich > 0)
- {
- faktorial *= soucetlich--;
- }
- return faktorial;
- }
- else
- {
- return 0;
- }
- }
- int Ukol3(int c)
- {
- int z = 1, soucet = 0;
- while (z <= c)
- {
- if (c % z == 0)
- {
- soucet += z;
- }
- z += 2;
- }
- return soucet;
- }
- void Ukol4(int x, double &prumer, long long &faktorial)
- {
- int soucet = 0, pocet = 0, y;
- for (int i = 1; i <= x; i++)
- {
- cout << "Zadejte nezaporne cislo do posloupnosti: " << endl;
- cin >> y;
- if (y % 2 != 0)
- {
- soucet += y;
- pocet++;
- }
- }
- if (pocet > 0)
- {
- prumer = double(soucet) / pocet;
- }
- else
- {
- prumer = 0;
- }
- if (x > 0)
- {
- while (x > 0)
- {
- faktorial *= x--;
- }
- }
- else
- {
- faktorial = 0;
- }
- }
- double Ukol5()
- {
- double prvek, soucet = 0, min = RAND_MAX, vysledek = 1;
- int pocet = 0, i = 1, poziceMin = 0;
- cout << "Zadejte prvek posloupnosti: ";
- cin >> prvek;
- while (prvek > -1)
- {
- if (i % 2 == 0)
- {
- soucet += prvek;
- pocet++;
- }
- if (prvek < min)
- {
- min = prvek;
- poziceMin = i;
- }
- cout << "Zadejte prvek posloupnosti: ";
- cin >> prvek;
- i++;
- }
- if (pocet > 0)
- {
- double prumer = soucet / pocet;
- double vysledek = 1;
- while (poziceMin > 0)
- {
- vysledek *= prumer;
- poziceMin--;
- }
- return vysledek;
- }
- else
- {
- return -1;
- }
- }
- int Ukol6(int pocetCisel, int pravyBod, int levyBod)
- {
- int cislo = 0;
- int max = -RAND_MAX, max2 = max;
- int min = RAND_MAX, min2 = min;
- for (int i = 1; i <= pocetCisel; i++)
- {
- cislo = rand() % (pravyBod - levyBod) + levyBod;
- cout << "Cislo posloupnosti: " << cislo << endl;
- if (cislo > max2)
- {
- if (cislo > max)
- {
- max2 = max;
- max = cislo;
- }
- else if (cislo < max)
- {
- max2 = cislo;
- }
- }
- if (cislo < min2)
- {
- if (cislo < min)
- {
- min2 = min;
- min = cislo;
- }
- else if (cislo > min)
- {
- min2 = cislo;
- }
- }
- }
- return max2 - min2;
- }
- double Ukol6(int pocetCisel, double pravyBod, double levyBod)
- {
- double max = -RAND_MAX, max2 = max;
- double min = RAND_MAX, min2 = min;
- double cislo = 0;
- for (int i = 1; i <= pocetCisel; i++)
- {
- cislo = (double)rand() / (RAND_MAX + 1) * (pravyBod - levyBod) + levyBod;
- cout << "Cislo posloupnosti: " << cislo << endl;
- if (cislo > max2)
- {
- if (cislo > max)
- {
- max2 = max;
- max = cislo;
- }
- else if (cislo < max)
- {
- max2 = cislo;
- }
- }
- if (cislo < min2)
- {
- if (cislo < min)
- {
- min2 = min;
- min = cislo;
- }
- else if (cislo > min)
- {
- min2 = min;
- }
- }
- }
- return max2 - min2;
- }
- bool Ukol7(unsigned short pocetPrvku)
- {
- unsigned int prvek;
- for (int i = 1; i <= pocetPrvku; i++)
- {
- cout << "Zadejte kladne cislo posloupnosti: ";
- cin >> prvek;
- if ((prvek % 100) == 4)
- {
- return true;
- }
- }
- return false;
- }
- void Ukol8(unsigned short pocetPrvku)
- {
- unsigned char znak;
- for (int i = 1; i <= pocetPrvku; i++)
- {
- cout << "Zadejte znak: ";
- cin >> znak;
- if (znak % 5 == 0)
- {
- cout << "Znak: " << znak << endl;
- cout << " Predchozi: " << znak - 1 << endl;
- cout << " Nasleduje: " << znak + 1 << endl;
- }
- else
- {
- cout << "Znak: " << znak << " ma ASCII kod: " << (int)znak << endl;
- }
- }
- }
- int main()
- {
- int volba;
- do {
- cout << "1 - 2 cela cisla jako krajni body intervalu <min; max).Program vypise aritmeticky prumer ze sudych cisel z tohoto inervalu" << endl;
- cout << "2 - Nezaporne cislo a program vypocita faktorial ze souctu lichych cifer" << endl;
- cout << "3 - Cele cislo. Ja vypisu soucet lichych delitelu " << endl;
- cout << "4 - Na vstupu je N prvkova posloupnost celych nezapornych cisel. Program vypocita Aritmeticky prumer z lichych cisel posloupnosti a faktorial z poctu cisel posloupnosti" << endl;
- cout << "5 - Posloupnost realnych cisel zakoncena cislem zapornym. Program umocni aritmeticky prumer z cisel na sudych pozicich na prvni pozici nejmensiho cisla" << endl;
- cout << "6 - Posloupnost N kladnych prvku se generuje z intervalu <minimum; maximum).Uzivatel zvoli krajni body intervalu a typ cisel, ktera se budou generovat(cela nebo realna cisla) Program vypocita rozdil z druheho maxima a druheho minima" << endl;
- cout << "7 - Na vstupu je N prvkova posloupnost kladnych cisel. Pokud se posledni cifra zadaneho cisla rovna 4, program se predcasne ukonci" << endl;
- cout << "8 - Na vstupu je N prvkova posloupnost znaku. Kdyz je ASCII kod zadaneho znaku delitelny 5 tak vypise jeho predchazejici a nasledujici znak. Pokud neni delitelny 5, tak vypise prislusny ASCII kod znaku" << endl;
- cout << "9 - Konec" << endl;
- cout << "Zadejte cislo programu, ktery chcete spustit: ";
- cin >> volba;
- switch (volba)
- {
- //Ăškol ÄŤ. 1
- case 1:
- {
- int a, b;
- cout << "Zadejte 2 cela cisla jako krajni body intervalu <min;max). Program vypise aritmeticky prumer ze sudych cisel z tohoto inervalu" << endl;
- cout << "Zadejte minimum intervalu: ";
- cin >> a;
- cout << "Zadejte maximum intervalu: ";
- cin >> b;
- double vysledek = Ukol1(a, b);
- if (vysledek != 0)
- {
- cout << "Aritmeticky prumer je: " << vysledek << endl;
- }
- else
- {
- cout << "Nelze vypocitat aritmeticky prumer " << endl;
- }
- break;
- }
- //Ăškol ÄŤ.2
- case 2:
- {
- int n;
- cout << "Zadejte nezaporne cislo a program vypocita faktorial ze souctu lichych cifer" << endl;
- cin >> n;
- cout << "Faktorial ze souctu lichych cifer z cisla je: " << Ukol2(n) << endl;
- break;
- }
- //Ăškol ÄŤ. 3
- case 3:
- {
- int c;
- cout << "Zadejte cele nezaporne cislo. Program vypise soucet lichych delitelu " << endl;
- cin >> c;
- int vysledek = Ukol3(c);
- if (vysledek != 0)
- {
- cout << "Soucet sudych delitelu je: " << vysledek << endl;
- }
- else
- {
- cout << "Nelze vypocitat" << endl;
- }
- break;
- }
- //Ăškol ÄŤ. 4
- case 4:
- {
- cout << "Na vstupu je N prvkova posloupnost celych nezapornych cisel. Program vypocita Aritmeticky prumer z lichych cisel posloupnosti a faktorial z poctu cisel posloupnosti" << endl;
- int x;
- double prumer = 0;
- long long faktorial = 1;
- cout << "Zadejte pocet prvku posloupnosti: " << endl;
- cin >> x;
- Ukol4(x, prumer, faktorial);
- if (prumer != 0)
- {
- cout << "Prumer je: " << prumer << endl;
- }
- else
- {
- cout << "Prumer nelze vypocitat" << endl;
- }
- cout << "Faktorial je: " << faktorial << endl;
- break;
- }
- //Ăškol ÄŤ. 5
- case 5:
- {
- cout << "Posloupnost realnych cisel zakoncena cislem zapornym. Program umocni aritmeticky prumer z cisel na sudych pozicich na prvni pozici nejmensiho cisla" << endl;
- double vysledek = Ukol5();
- if (vysledek != -1)
- {
- cout << "Aritmeticky prumer umocneny na pozici nejmensiho cisla: " << vysledek << endl;
- }
- else
- {
- cout << "Nelze vypocitat" << endl;
- }
- break;
- }
- //Ăškol ÄŤ. 6
- case 6:
- {
- srand(time(0));
- int volbaCisla, pocetCisel;
- cout << "Posloupnost N kladnych prvku se generuje z intervalu <minimum;maximum). Uzivatel zvoli krajni body intervalu a typ cisel, ktera se budou generovat (cela nebo realna cisla)" << endl;
- cout << "Program vypocita rozdil z druheho maxima a druheho minima" << endl;
- cout << "Zadejte pocet prvku: " << endl;
- cin >> pocetCisel;
- cout << "Zadejte, jaka cisla se budou generovat: " << endl;
- cout << " 1 - Cela cisla " << endl;
- cout << " 2 - Realna cisla " << endl;
- cin >> volbaCisla;
- if (volbaCisla == 1)
- {
- int levyBod = 0, pravyBod = 0;
- cout << "Zadejte cele nezaporne koreny intervalu. Interval je ve tvaru <minimum;maximum)" << endl;
- cin >> levyBod >> pravyBod;
- cout << "Rozdil mezi druhym maximem a druhym minimem je: " << Ukol6(pocetCisel, pravyBod, levyBod) << endl;
- }
- else
- {
- double levyBod = 0, pravyBod = 0;
- cout << "Zadejte realne nezaporne koreny intervalu. Interval je ve tvaru <minimum;maximum)" << endl;
- cin >> levyBod >> pravyBod;
- cout << "Rozdil mezi druhym maximem a druhym minimem je: " << Ukol6(pocetCisel, pravyBod, levyBod) << endl;
- }
- break;
- }
- //Ăškol ÄŤ. 7
- case 7:
- {
- unsigned short pocetPrvku;
- cout << "Na vstupu je N prvkova posloupnost kladnych cisel. Pokud se posledni cifra zadaneho cisla rovna 4, program se predcasne ukonci" << endl;
- cout << "Zadejte pocet prvku: ";
- cin >> pocetPrvku;
- if (Ukol7(pocetPrvku))
- {
- cout << "Program nasel cislo s posledni cifrou, ktera se rovna 4 a byl predcasne ukoncen" << endl;
- }
- else
- {
- cout << "Program nenasel cislo s posledni cifrou, ktera se rovna 4" << endl;
- }
- break;
- }
- //Ăškol ÄŤ. 8
- case 8:
- {
- cout << "Na vstupu je N prvkova posloupnost znaku. Kdyz je ASCII kod zadaneho znaku delitelny 5 tak vypise jeho predchazejici a nasledujici znak. Pokud neni delitelny 5, tak vypise prislusny ASCII kod znaku" << endl;
- unsigned short pocetPrvku;
- cout << "Zadejte pocet prvku znakove posloupnosti: ";
- cin >> pocetPrvku;
- Ukol8(pocetPrvku);
- }
- break;
- default: cout << "Spatna volba" << endl;
- break;
- case 9: cout << "Program ukoncen" << endl;
- }
- } while (volba != 9);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement