Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sub1:
- 1. b
- 2.
- a) 634
- b) 6234 1205 2114 8679 0
- c)
- m<-0
- repeta
- citeste x
- y<-x
- executa
- c<-y%10
- y<-y/10
- cat timp c>y%10
- sfexecuta
- daca y!=0 atunci
- m<-m*10+c
- sfdaca
- pana cand x=0
- sfrepeta
- scrie m
- d)
- #include<iostream>
- using namespace std;
- int main()
- {
- int x, y, m, c;
- m = 0;
- do
- {
- cin >> x;
- y = x;
- do
- {
- c = y % 10;
- y = y / 10;
- } while (c > y % 10);
- if (y != 0)
- m = m * 10 + c;
- } while (x != 0);
- cout << "m=" << m;
- cout << endl << endl;
- system("pause");
- return 0;
- }
- sub2:
- 1. d
- 2. b
- 3. if ((t1.baza*t1.inaltime)/2==(t2.baza*t2.inaltime)/2)
- cout<<"aceeasi arie";
- else
- cout<<"arii diferite";
- 4.
- #include<iostream>
- using namespace std;
- void construireMatrice(char a[10][10])
- {
- for (int i = 0; i < 5; i++)
- for (int j = 0; j < 5; j++)
- if ((i + j) % 2 == 0)
- a[i][j] = '!';
- else
- a[i][j] = '?';
- }
- void afisareMatrice(char a[10][10])
- {
- for (int i = 0; i < 5; i++)
- {
- for (int j = 0; j < 5; j++)
- cout << a[i][j] << " ";
- cout << endl;
- }
- }
- int main()
- {
- char a[10][10];
- construireMatrice(a);
- afisareMatrice(a);
- cout << endl << endl;
- system("pause");
- return 0;
- }
- 5.
- #include<iostream>
- using namespace std;
- int verifAparitii(char s[], char c)
- {
- int aparitii = 0;
- for (int i = 0; i < strlen(s); i++)
- if (s[i] == c)
- aparitii++;
- return aparitii;
- }
- bool anagrame(char s1[], char s2[])
- {
- int n = strlen(s1);
- int m = strlen(s2);
- for (int i = 0; i < n; i++)
- if(s1[i]!=' ')
- if (verifAparitii(s1, s1[i]) != verifAparitii(s2, s1[i]))
- return false;
- return true;
- }
- int main()
- {
- char s1[100], s2[100];
- cin.get(s1, 99);
- cin.get();
- cin.get(s2, 99);
- if (anagrame(s1, s2))
- cout << "da";
- else
- cout << "nu";
- cout << endl << endl;
- system("pause");
- return 0;
- }
- sub3:
- 1. a
- 2. rusi sale
- 3.
- #include<iostream>
- using namespace std;
- bool verifSPar(int n)
- {
- if (n % 2 != 0)
- return false;
- int s = 0;
- for (int i = 2; i <= n / 2; i++)
- if (n%i == 0)
- s += i;
- if (s % 2 != 0)
- return false;
- return true;
- }
- int sPar(int n)
- {
- n = n + 1;
- while (!verifSPar(n))
- n++;
- return n;
- }
- int main()
- {
- int n;
- cout << "n="; cin >> n;
- cout << sPar(n);
- cout << endl << endl;
- system("pause");
- return 0;
- }
- ----varianta mai buna cu un singur subprogram---
- #include<iostream>
- using namespace std;
- int sPar(int n)
- {
- int ok = 1;
- n = n + 1;
- do
- {
- ok = 1;
- if (n % 2 != 0)
- ok = 0;
- int s = 0;
- for (int i = 2; i <= n / 2; i++)
- if (n%i == 0)
- s += i;
- if (s % 2 != 0)
- ok = 0;
- n = n + 1;
- } while (ok == 0);
- return n-1;
- }
- int main()
- {
- int n;
- cout << "n="; cin >> n;
- cout << sPar(n);
- cout << endl << endl;
- system("pause");
- return 0;
- }
- 4.a)am facut un subprogram pentru verificarea daca un numar este sufixul altuia
- pentru el am folosit un alt subprogram inversat care inverseaza numarul;in subprogramul de verificare de sufix
- am inversat amblele numere si am sters ultima cifra din al doilea numar cat timp
- numerele sunt distincte si b este diferit dde 0,cand am iesit din while daca b-ul nu este egal cu 0 inseamna ca e egal cu a deci este
- sufixul lui a,iar daca nu inseamna ca nu este sufix; am citit sirul dat si l-am salvat intr-un
- vector pentru a putea lucra pe el; dupa care am facut un alt program de afisare unde am parcurs vectorul
- am salvat primul numar intr-o variabila,dupa care am verificat daca numarul este de 3 cifre si am luat un alt for si
- am parcurs din nou sirul si am verificat daca variabila memorata este sufixul
- vreunui numar din sir,cu conditia ca variabila memorata sa fie diferita de numarul din sir;apoi am creat un alt vector in care salvam numerele dorite,daca
- acestea nu exista deja in sir,pentru asta am o functie care verifica daca un umar se afla in sir
- apoi mai am o functie de sortare pe care o apelez si daca k-numarul de elemente din sirul afis cu numerele dorite nu este 0 inseamna ca avem sufixe si am afisat
- elementele din sir,altfel am afisat mesajul "nu exista"
- b)
- #include<iostream>
- #include<fstream>
- using namespace std;
- int inversat(int a)
- {
- int inv = 0;
- while (a != 0)
- {
- inv = inv * 10 + a % 10;
- a /= 10;
- }
- return inv;
- }
- int verifSufix(int a, int b)
- {
- a = inversat(a);
- b = inversat(b);
- while (a != b && b != 0)
- b /= 10;
- if (b != 0)
- return 1;
- return 0;
- }
- void citire(int v[], int &n)
- {
- ifstream fin("bac.txt");
- int a; n = 0;
- while (fin>>a)
- v[n++] = a;
- }
- bool verificare(int sir[], int len, int k)
- {
- for (int i = 0; i < len; i++)
- if (sir[i] == k)
- return true;
- return false;
- }
- void insertionSort(int sir[], int len)
- {
- int poz, aux;
- for (int i = 1; i < len; i++)
- {
- aux = sir[i];
- poz = i;
- while (poz > 0 && sir[poz - 1] > aux)
- {
- sir[poz] = sir[poz - 1];
- poz--;
- }
- sir[poz] = aux;
- }
- }
- void afisare(int v[], int n)
- {
- int afis[100],k=0;
- for (int i = 0; i < n; i++)
- {
- int a = v[i];
- if (a >= 100 && a < 1000)
- for (int j = 0; j < n; j++)
- if (a != v[j] && verifSufix(a, v[j]) && !verificare(afis,k,a))
- afis[k++] = a;
- }
- if (k != 0)
- {
- insertionSort(afis, k);
- for (int i = 0; i < k; i++)
- cout << afis[i] << endl;
- }
- else
- cout << "nu exista";
- }
- int main()
- {
- int v[100], n;
- citire(v, n);
- afisare(v, n);
- cout << endl << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement