Stancu

Probleme 10+.

Jan 22nd, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.60 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. int main()
  7. {
  8.     int n, S = 0, cont = 0, raspuns, cc = 1;
  9.    
  10.     cout << "Deoarece sunt 10 probleme programul poate fi executat de 10 ori,nefiind nevoie sa fie inchis si repornit.";
  11.     while (cc <= 10)
  12.     {
  13.         cout << "Notam cu 1 problema 3 de la pagina 153 din manual,cu 2 problema 4 si tot asa pana la 8 care este problema 10,p. 12 cu nr 9,p. 17 cu nr 10,introduceti problema dorita: "; cin >> n;
  14.         switch (n)
  15.         {
  16.         case 1:
  17.             int a, c;
  18.             cout << "Enuntul problemei 3:\"Se citesc mai multe cifre de la tastatura pana cand suma lor depaseste valoarea 40.Afisati numarul de cifre introduse.\" " << endl;
  19.             cout << "Introduceti cifre: ";
  20.             while (S <= 40)
  21.             {
  22.                 cin >> a;
  23.                 while (a)
  24.                 {
  25.                     c = a % 10;
  26.                     cont++;
  27.                     S += c;
  28.                     if (S > 40) a = 0;
  29.                     a /= 10;
  30.                 }
  31.             }
  32.             cout << "Ati introdus " << cont << " de cifre pana cand suma acestora a ajuns la valoare 40!" << endl;
  33.             break;
  34.         case 2:
  35.             int  n, b;
  36.             cout << "Enuntul problemei 4:\"Se citeste un numar natural n si apoi un sir de n numere intregi.Afisati mediile aritmetice ale tripletelor de numere pozitive introduse consecutiv.\" " << endl;
  37.             cout << "n= "; cin >> n;
  38.             cout << "Introduceti o valoare: "; cin >> a;
  39.             cout << "Introduceti o valoare: "; cin >> b;
  40.             for (int i = 3; i <= n; i++)
  41.             {
  42.                 cout << "Introduceti o valoare: "; cin >> c;
  43.                 if (a >= 0 && b >= 0 && c >= 0)
  44.                 {
  45.                     float ma = (a + b + c) / 3;
  46.                     cout << "S-a gasit un triplet de numere pozitive consecutive a caror medie aritmetica este: " << ma << endl;
  47.                 }
  48.                 a = b;
  49.                 b = c;
  50.             }
  51.             break;
  52.         case 3:
  53.             int a1, a2, a3, cont;
  54.             cont = 0;
  55.             cout << "Enuntul problemei 5:\"Se citesc doua numere de la tastatura,a si b.Afisati numarul de termeni ai sirului lui Fibonacci din intervalul [a,b].\" " << endl;
  56.             cout << "a= "; cin >> a;
  57.             cout << "b= "; cin >> b;
  58.             a1 = a2 = 1;
  59.             cout << "Termenii din interval care apartin lui Sirul lui Fibonaci sunt: ";
  60.             while (a1 <= b)
  61.             {
  62.                 a3 = a1 + a2;
  63.                 if (a <= a1)
  64.                 {
  65.                     cout << a1 << " ";
  66.                     cont++;
  67.                 }
  68.                 a1 = a2;
  69.                 a2 = a3;
  70.  
  71.             }
  72.             cout << endl << "In interval s-au gasit " << cont << " termeni din Sirul lui Fibonaci." << endl;
  73.             break;
  74.         case 4:
  75.             cout << "Enuntul problemei 6:\"Sa se afiseze toate numerele de forma abba divizibile cu n(n se citeste de la tastatura ).\" " << endl;
  76.             cout << "n= "; cin >> n;
  77.             cout << "Numerele de forma abba divizibile cu " << n << " sunt: " << endl;
  78.             for (int a = 1; a <= 9; a++)
  79.                 for (int b = 1; b <= 9; b++)
  80.                     if ((a * 1000 + b * 100 + b * 10 + a) % n == 0)
  81.                         cout << a << b << b << a << endl;
  82.             break;
  83.         case 5:
  84.             int p;
  85.             p = 0;
  86.             cout << "Enuntul problemei 7:\"Sa se calculeze produsul a x b a doua numere intregi, fara sa se foloaseasca operatorul pentru imultire (se foloseste adunarea repetata a lui a,de b ori, si se tine cont de semnul numerelor).\" " << endl;
  87.             cout << "a= "; cin >> a;
  88.             cout << "b= "; cin >> b;
  89.             if (a > 0 && b > 0)
  90.                 for (int i = 1; i <= b; i++)
  91.                 {
  92.                     p += a;
  93.  
  94.                 }
  95.  
  96.             if (a < 0 && b < 0)
  97.             {
  98.                 a = -a;
  99.                 b = -b;
  100.                 for (int i = 1; i <= b; i++)
  101.                 {
  102.                     p += a;
  103.  
  104.                 }
  105.             }
  106.             if (a < 0)
  107.             {
  108.                 a = -a;
  109.                 for (int i = 1; i <= b; i++)
  110.                 {
  111.                     p += a;
  112.  
  113.                 }
  114.                 p = -p;
  115.             }
  116.             if (b < 0)
  117.             {
  118.                 b = -b;
  119.                 for (int i = 1; i <= b; i++)
  120.                 {
  121.                     p += a;
  122.  
  123.                 }
  124.                 p = -p;
  125.             }
  126.             cout << "Produsul numerelor a si b este: " << p << endl;
  127.             break;
  128.         case 6:
  129.             cout << "Enuntul problemei 8:\"Sa se calculeze catul si restul impartirii a doua numere intregi a si b, fara sa se folseasca operatorii / si %()se foloseste scaderea repetata a lui b din a si se tine cont de semnul numerelor).\" " << endl;
  130.             cout << "a= "; cin >> a;
  131.             cout << "b= "; cin >> b;
  132.             c = 0;
  133.             if (a > 0 && b > 0)
  134.                 while ((a - b) >= 0)
  135.                 {
  136.                     c++;
  137.                     a = a - b;
  138.                 }
  139.             if (a < 0 && b < 0)
  140.             {
  141.                 a = -a;
  142.                 b = -b;
  143.                 while ((a - b) >= 0)
  144.                 {
  145.                     c++;
  146.                     a = a - b;
  147.                 }
  148.             }
  149.             if (a < 0)
  150.             {
  151.                 a = -a;
  152.                 while ((a - b) >= 0)
  153.                 {
  154.                     c++;
  155.                     a = a - b;
  156.                 }
  157.                 c = -c;
  158.  
  159.             }
  160.             if (b < 0)
  161.             {
  162.                 b = -b;
  163.                 while ((a - b) >= 0)
  164.                 {
  165.                     c++;
  166.                     a = a - b;
  167.                 }
  168.                 c = -c;
  169.  
  170.             }
  171.  
  172.             cout << "Catul este: " << c << " iar restul este: " << a << endl;
  173.             break;
  174.         case 7:
  175.             int cub;
  176.             cub = 1;
  177.             cout << "Enuntul problemei 9:\"Sa se afiseze cuburile perfecte mai mici decat un numar n citit de la tastatura.\" " << endl;
  178.             cout << "n= "; cin >> n;
  179.             cout << "Cuburile perfecte pana la n sunt:" << endl;
  180.             for (int i = 1; cub < n; i++)
  181.             {
  182.                 cub = (i * i * i);
  183.                 cout << cub << endl;
  184.             }
  185.             break;
  186.         case 8:
  187.             int ptr;
  188.             ptr = 1;
  189.             cout << "Enuntul problemei 10:\"Sa se afiseze numarul patratelor perfecte mai mici decat un numar n citit de la tastatura.\" " << endl;
  190.             cout << "n= "; cin >> n;
  191.             cout << "Patratele perfecte pana la n sunt:" << endl;
  192.             for (int i = 1; ptr < n; i++)
  193.             {
  194.                 ptr = (i * i);
  195.                 cout << ptr << endl;
  196.             }
  197.             break;
  198.  
  199.  
  200.  
  201.         case 9:
  202.             cout << "Enuntul problemei 12:\"Se citeste un numar natural n si apoi un sir de n numere intregi.Afisati primul numar care are cei mai multi divizori.\" " << endl;
  203.             int  nr, nrdiv, i, d, max, nr_cautat;
  204.             nrdiv = 1;
  205.             max = 0;
  206.             cout << "n= "; cin >> n;
  207.             cout << "Introduceti sirul de numere: ";
  208.             for (i = 1; i <= n; i++)
  209.             {
  210.                 cin >> nr;
  211.                 for (d = 2; d <= nr / 2; d++)
  212.                     if (nr%d == 0)
  213.                         nrdiv++;
  214.                 if (nrdiv > max)
  215.                 {
  216.                     max = nrdiv;
  217.                     nr_cautat = nr;
  218.                 }
  219.             }
  220.             cout << "Numarul cu cei mai multi divizori este : " << nr_cautat << endl;
  221.             break;
  222.  
  223.         case 10:
  224.             int r, x, y;
  225.             cout << "Enuntul problemei 17:\"Sa se determine toate dubletele de numere intregi (x,y) care indeplinesc conditia x²+y²=r² unde r se citeste de la tastatura.\" " << endl;
  226.             cout << "r="; cin >> r;
  227.             for (x = 1; x <= r; x++)
  228.                 for (y = 1; y <= r; y++)
  229.                     if (x*x + y * y < r*r) cout << x << "^2" << " + " << y << "^2" << " < " << r << "^2" << endl;
  230.             break;
  231.         default: cout << "Aceasta problema nu exista." << endl;
  232.         }
  233.         cc++;
  234.         cout << "Doriti sa vedeti si celelalte probleme sau renuntati (1/0): "; cin >> raspuns;
  235.         if (raspuns == 1) cout << "Va multumesc." << endl;
  236.         else if (raspuns == 0)
  237.         {
  238.             cout << "Va multumesc pentru atentia acordata!" << endl;
  239.             cc = 10;
  240.         }
  241.         else cout << "Acest raspuns este invalid,presupun ca doriti sa continuati." << endl;
  242.         if (cc == 10) cout << "Problemele au fost epuizate,va multumesc pentru rabdare." << endl;
  243.  
  244.     }
  245.    
  246.  
  247.        
  248.  
  249.  
  250.  
  251.     return 0;
  252. }
Add Comment
Please, Sign In to add comment