Advertisement
Guest User

Dupajedendwatrzy

a guest
Aug 21st, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.83 KB | None | 0 0
  1. #include <cstdio>
  2. #include <iostream>
  3. #include <cmath>
  4. #include <cstdlib>
  5. #include <ctime>
  6.  
  7.  
  8.  
  9. //==================================Zmienne Globalne==============================
  10.  
  11. int pierwsza;
  12. int test_NWD1;
  13. int test_NWD2;
  14. int a1[10] = {1,2,3,4,5,6,7,8,9,10};
  15. int a2[10] = {9,9,9,9,9,9,9,9,9,9};
  16.  
  17.  
  18. //===============================Deklaracje Funkcji===============================
  19.  
  20. void Temperatura();
  21. void Modulo();
  22. void Licznik();
  23. void Silnia();
  24. bool Test_Pierwsza(int);
  25. void NWD();
  26. int Test_NWD(int, int);
  27. void RNG();
  28. void Tabliczka1();
  29. void Wybory();
  30. void Losowanko();
  31. void Test_wskazniki();
  32. void Zwieksz_dwukrotnie(int *p);
  33. void Sorter();
  34. void Zamien(double *p1, double *p2);
  35. void Zeruj_tablice(int *tab, int n);
  36. void Kopiuj_tablice(int *a1, int *a2);
  37.  
  38. //======================================Funkcje===================================
  39.  
  40.  
  41.  
  42. int main() {
  43.  
  44.  
  45. int numer_apki;
  46.  
  47. std::cout << "\n \n Jaki program chcesz uruchomic? \n"
  48. " 1: Konwerter temperatury \n"
  49. " 2: Dzielenie z reszta (modulo) \n"
  50. " 3: Wypisanie liczb z przedzialu wybranego przez uzytkownika \n"
  51. " 4: Obliczenie trojkata, silni i pierwiastka wybranej liczby oraz sprawdzenie czy jest liczba pierwsza \n"
  52. " 5: Obliczenie najwiekszego wspolnego dzielnika\n"
  53. " 6: Generator liczb losowych\n"
  54. " 7: Tablica testowa\n"
  55. " 8: Symulacja wyborow\n"
  56. " 9: Losowanie kul/kostek w roznych kolorach\n"
  57. "10: Test wskaznikow\n"
  58. "11: Algorytm sortujacy elementy tablicy\n"
  59. "12: Zerowanie tablicy\n"
  60. "13: Kopiowanie tablicy\n"
  61.  
  62.  
  63. " 0: Konczy prace aplikacji \n";
  64.  
  65.  
  66. std::cin >> numer_apki;
  67.  
  68. if(numer_apki==0) {
  69. return 0;
  70.  
  71. } else if (numer_apki == 1) {
  72. Temperatura();
  73.  
  74. } else if (numer_apki == 2) {
  75. Modulo();
  76.  
  77. } else if (numer_apki == 3) {
  78. Licznik();
  79. } else if (numer_apki == 4) {
  80. Silnia();
  81. } else if (numer_apki == 5) {
  82. NWD();
  83. }else if (numer_apki == 6) {
  84. RNG();
  85. }else if (numer_apki == 7) {
  86. Tabliczka1();
  87. }else if (numer_apki == 8) {
  88. Wybory();
  89. }else if (numer_apki == 9) {
  90. Losowanko();
  91. }else if (numer_apki == 10) {
  92. Test_wskazniki();
  93. }else if (numer_apki == 11) {
  94. Sorter();
  95. }else if (numer_apki == 12) {
  96. Zeruj_tablice(a1, 10);
  97. for (int i = 0; i < 10; i++) {
  98. std::cout << a1[i] << " ";
  99. }
  100. main();
  101.  
  102. }else if (numer_apki == 13){
  103. Kopiuj_tablice(a1, a2);
  104. main();
  105.  
  106. } else {
  107. printf("Zly numer \n");
  108. main();
  109. }
  110.  
  111.  
  112. }
  113.  
  114. void Temperatura() {
  115.  
  116. double ctemp;
  117. double ftemp;
  118.  
  119. std::cout << "\n Podaj temperature w stopniach celsjusza";
  120. std::cin >> ctemp;
  121.  
  122. ftemp = ((ctemp * 1.8) + 32);
  123.  
  124. printf("temperatura w stopniach Fahrenheita wynosi ");
  125. std::cout << ftemp << "\n";
  126.  
  127. main();
  128. }
  129.  
  130. void Modulo(){
  131.  
  132. int dzielna;
  133. int dzielnik;
  134. int reszta;
  135.  
  136. std::cout << "Jaka liczbe calkowita dzielimy?\n";
  137. std::cin >> dzielna;
  138. std::cout << "Przez jaka liczbe calkowita dzielimy?\n";
  139. std::cin >> dzielnik;
  140. reszta = dzielna % dzielnik;
  141.  
  142.  
  143. if (reszta == 0){
  144. std::cout << "Pierwsza liczba jest podzielna przez druga";
  145. }else{
  146. std::cout << "Pierwsza liczba nie dzieli sie przez druga";
  147. }
  148.  
  149. main();
  150.  
  151. }
  152.  
  153. void Licznik (){
  154.  
  155. int przedzial1;
  156. int przedzial2;
  157.  
  158. std::cout << "Podaj jedna z granic przedzialu";
  159. std::cin >> przedzial1;
  160. std::cout << "Podaj druga z granic przedzialu";
  161. std::cin >> przedzial2;
  162.  
  163.  
  164.  
  165. while (przedzial1 < przedzial2) {
  166. std::cout << przedzial1;
  167. std::cout << " ";
  168. ++przedzial1;
  169. }
  170.  
  171.  
  172. while(przedzial1 > przedzial2) {
  173. std::cout << przedzial2;
  174. std::cout << " ";
  175. ++przedzial2;
  176. }
  177.  
  178. if (przedzial1 == przedzial2){
  179. std::cout << przedzial1;
  180. }
  181. main();
  182.  
  183. }
  184.  
  185. void Silnia(){
  186.  
  187. int liczba;
  188. int silnia = 1;
  189. int trojkat = 0;
  190.  
  191. std::cout << "Jaki tam numerek chcesz sprawdzic, wariacie?\n";
  192. std::cin >> liczba;
  193.  
  194. for( int i = 1; i <= liczba; i++){
  195. trojkat += i;
  196. silnia *= i;
  197. }
  198.  
  199.  
  200. pierwsza = liczba;
  201.  
  202.  
  203. if (!Test_Pierwsza(pierwsza)){
  204. std::cout << "\n" << liczba << " nie jest liczba pierwsza";
  205. } else {
  206. std::cout << "\n" << liczba << " jest liczba pierwsza";
  207. }
  208.  
  209.  
  210. std::cout << "\nTrojkatem liczby " << liczba << " jest " << trojkat << std::endl;
  211. std::cout << "Za to " << liczba << "! jest rowna " << silnia << "\n";
  212. std::cout << "Pierwiastek tej liczby jest rowny " << static_cast<double> (sqrt(liczba));
  213.  
  214.  
  215.  
  216. main();
  217. }
  218.  
  219. bool Test_Pierwsza(int){
  220. bool test;
  221.  
  222. for (int j = 2; j <= sqrt(static_cast<double>(pierwsza)); j++ ){
  223. if(pierwsza % j == 0){
  224. test = false;
  225. break;
  226.  
  227. } else {
  228. test = true;
  229. }
  230. }
  231.  
  232. return test;
  233.  
  234. }
  235.  
  236. void NWD(){
  237.  
  238. std::cout << "Podaj liczby, ktorych chcesz uzyskac najwiekszy wspolny dzielnik\n";
  239. std::cin >> test_NWD1;
  240. std::cout << "Teraz druga\n";
  241. std::cin >> test_NWD2;
  242.  
  243. std::cout << "NWD liczb " << test_NWD1 << " oraz " << test_NWD2 << " to " << Test_NWD(test_NWD1, test_NWD2);
  244.  
  245. main();
  246. }
  247.  
  248. int Test_NWD(int, int){
  249.  
  250. int przechowalnia;
  251.  
  252. if (test_NWD1 < test_NWD2) {
  253. przechowalnia = test_NWD2;
  254. test_NWD2 = test_NWD1;
  255. test_NWD1 = przechowalnia;
  256. }
  257.  
  258. if (test_NWD1 % test_NWD2 != 0){
  259.  
  260. przechowalnia = (test_NWD1 % test_NWD2);
  261. test_NWD1 = test_NWD2;
  262. test_NWD2 = przechowalnia;
  263. Test_NWD(test_NWD1, test_NWD2);
  264. }
  265.  
  266. return test_NWD2;
  267. }
  268.  
  269. void RNG(){
  270.  
  271. int ile_wynikow;
  272.  
  273. srand(time(NULL));
  274. std::cout << "Ile liczb wygenerowac?\n";
  275. std::cin >> ile_wynikow;
  276.  
  277. for (int i = 1; i <= ile_wynikow; i++){
  278. std::cout << rand() % ile_wynikow + 1 << " ";
  279.  
  280. }
  281. main();
  282. }
  283.  
  284. void Tabliczka1(){
  285.  
  286. int rozmiar;
  287. int i;
  288. int przedzial;
  289.  
  290.  
  291. std::cout << "Podaj rozmiar tablicy\n";
  292. std::cin >> rozmiar;
  293. std::cout << "Podaj gorna granice przedzialu\n";
  294. std::cin >> przedzial;
  295.  
  296. std::srand(time(NULL));
  297. int tablica[rozmiar];
  298.  
  299. for(i=0; i<rozmiar; i++) {
  300. tablica[i] = {std::rand() % przedzial + 1};
  301. }
  302.  
  303. for(i=0; i<rozmiar; i++){
  304. std::cout << tablica[i] << " ";
  305. }
  306. main();
  307. }
  308.  
  309. void Wybory(){
  310.  
  311. int glosujacy;
  312. int i, k;
  313. int kandydaci;
  314.  
  315.  
  316. std::cout << "Podaj liczbe waznych glosow\n";
  317. std::cin >> glosujacy;
  318. std::cout << "Podaj ilu kandydatow bierze udzial w wyborach\n";
  319. std::cin >> kandydaci;
  320.  
  321. std::srand(time(NULL));
  322. int glosy[glosujacy];
  323. int wyniki[kandydaci];
  324.  
  325. for(k=0;k<kandydaci;k++) {
  326. wyniki[k] = {0};
  327. }
  328.  
  329.  
  330. for(i=0; i<glosujacy; i++) {
  331. glosy[i] = {std::rand() % kandydaci +1};
  332.  
  333. std::cout << glosy[i] << " ";
  334. ++wyniki[glosy[i]-1];
  335.  
  336. }
  337. std::cout << "\n";
  338.  
  339.  
  340. for(k=0;k<kandydaci;k++) {
  341. std::cout << "Kandydat nr " << k +1 << " zdobyl ilosc glosow rowna " << wyniki[k] << "\n";
  342. }
  343.  
  344.  
  345.  
  346. main();
  347. }
  348.  
  349. void Losowanko(){
  350.  
  351. int losu;
  352.  
  353. const char *kolory[4]= {"zielona", "pomaranczowa", "niebieska", "czerwona"};
  354. const char *ksztalty[2] = {"kostka", "kulka"};
  355.  
  356. srand(time(NULL));
  357.  
  358. std::cout << "Podaj ile chcesz wylosowac przedmiotow\n";
  359. std::cin >> losu;
  360.  
  361. if (losu == 0){
  362. std::cout << "Nie chcesz nic wylosowac? No to trudno :c\n";
  363. } else{
  364.  
  365. std::cout << "Wylosowane przedmioty to: \n" ;
  366.  
  367. for(int i=1; i<=losu;i++){
  368.  
  369. std::cout << kolory[rand() % 4] << " " << ksztalty[rand() % 2] << "\n";
  370.  
  371.  
  372. }
  373.  
  374.  
  375. }
  376.  
  377.  
  378. main();
  379. }
  380.  
  381. void Test_wskazniki(){
  382.  
  383. int a = 5;
  384. int b = 6;
  385.  
  386. std::cout << "a przed podwojeniem jest rowne " << a << "\n";
  387. std::cout <<" b przed podwojeniem jest rowne " << b << "\n";
  388.  
  389. Zwieksz_dwukrotnie(&a);
  390. Zwieksz_dwukrotnie(&b);
  391.  
  392. std::cout << "a po podwojeniu jest rowne " << a << "\n";
  393. std::cout <<" b po podwojeniu jest rowne " << b << "\n";
  394.  
  395.  
  396. main();
  397.  
  398. }
  399.  
  400. void Zwieksz_dwukrotnie(int *p){
  401. *p = *p * 2;
  402. }
  403.  
  404.  
  405. void Sorter(){
  406.  
  407. int i;
  408. int rozmiar;
  409. int najnizszy;
  410. int j;
  411.  
  412.  
  413. std::cout << "Ile elementow powinna miec tablica?\n";
  414. std::cin >> rozmiar;
  415.  
  416. double tablica[rozmiar];
  417.  
  418. for (i=0; i<rozmiar; i++){
  419. std::cout << "Podaj wartosc, komorki " << i + 1 << "\n";
  420. std::cin >> tablica[i];
  421.  
  422. }
  423. std::cout << "Wartosci w tablicy przed sortowaniem\n";
  424.  
  425. for (i=0; i<rozmiar; i++){
  426. std::cout << tablica[i] << " ";
  427.  
  428.  
  429. }
  430.  
  431. for (i=0; i<rozmiar; i++){
  432.  
  433. najnizszy = i;
  434. for(j=i+1; j<rozmiar;j++){
  435. if (tablica[j] < tablica[najnizszy]){
  436. najnizszy = j;
  437. }
  438.  
  439. if (i != najnizszy){
  440. Zamien(&tablica[i], &tablica[najnizszy]);
  441. }
  442.  
  443. }
  444. }
  445.  
  446.  
  447.  
  448.  
  449. std::cout << "\nWartosci w tablicy po sortowaniu\n";
  450.  
  451. for (i=0; i<rozmiar; i++){
  452. std::cout << tablica[i] << " ";
  453.  
  454.  
  455. }
  456.  
  457. main();
  458.  
  459. }
  460.  
  461. void Zamien(double *p1, double *p2){
  462. double przechowalnia = *p1;
  463. *p1 = *p2;
  464. *p2 = przechowalnia;
  465. }
  466.  
  467. void Zeruj_tablice(int *p, int n){
  468.  
  469. while (n-- >0){
  470. *p = 0;
  471. p++;
  472. }
  473.  
  474. }
  475.  
  476. void Kopiuj_tablice(int *p1, int *p2){
  477.  
  478. int i=0;
  479.  
  480. for(i=0;i<10;i++){
  481. *p2 = *p1;
  482. p1++;
  483. p2++;
  484. }
  485.  
  486.  
  487. for (i = 0; i<10;i++){
  488. std::cout << a2[i];
  489. }
  490. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement