Advertisement
Dani_info

Tema 23.09.2019 - siruri de caractere

Sep 21st, 2019
158
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     int pb;
  10.     cout << "Nr problemei:"; cin >> pb;
  11.     cin.ignore();
  12.     switch (pb) {
  13.     case 1: {//Var. 57, Sub.2, Pb.4
  14.         char c;
  15.         cout << "Introdu caracterul:"; cin >> c;
  16.         if (strchr("aeiou", c))
  17.             cout << 1;
  18.         else
  19.             cout << 0;
  20.  
  21.         break;
  22.     }
  23.     case 2: {//Var.58, Sub.2, Pb.5
  24.         char c[50];
  25.         cin.getline(c, 50);
  26.         char litere[40] = "abcdefghijklmnopqrstuvwyz";
  27.         for (int i = 0; i < strlen(c); i++)
  28.             if (strchr(litere, c[i]) == NULL)
  29.                 for (int j = i; j < strlen(c); j++)
  30.                     c[j] = c[j + 1];
  31.         cout << c;
  32.         break;
  33.     }
  34.     case 3: {//Var.61, Sub.2, Pb.2
  35.         //Varianta corecta este C
  36.         break;
  37.     }
  38.     case 4: {//Var.62, Sub.2, Pb.5
  39.         char c[255];
  40.         cin.getline(c, 255);
  41.         char v[255];
  42.         for (int i = 0; i < strlen(c); i++)
  43.             if (isupper(c[i])){
  44.                 strcpy(c+i, c + i+1);
  45.                 i--;
  46.             }
  47.  
  48.         for (int i=strlen(c); i>=0; i--){
  49.             int maxim = c[i]-'a';
  50.             int ind=i;
  51.             for (int j=0; j<i; j++){
  52.                 if ((c[j]-'a')>maxim && c[j]!=' '){
  53.                     maxim=c[j]-'a';
  54.                     ind=j;
  55.                 }
  56.             }
  57.             if (c[ind]!=' '){
  58.                 char val=c[i];
  59.                 c[i]=c[ind];
  60.                 c[ind]=val;
  61.             }
  62.         }
  63.         for (int i=0; i<20; i++)
  64.             if (c[i]!=c[i+1] && c[i]!=' ')
  65.                 cout<<c[i]<<" ";
  66.         break;
  67.     }
  68.     case 5: {//Var.63, Sub.2, Pb.4
  69.         char s1[20], s2[20];
  70.         cin>>s1>>s2;
  71.         bool ok=true;
  72.         int i=0;
  73.         while(ok){
  74.             if ((s1[i]-'a')>(s2[i]-'a')){
  75.                 cout<<s2<<" "<<s1;
  76.                 ok=false;
  77.             }
  78.             else
  79.                 i++;
  80.         }
  81.         break;
  82.     }
  83.     case 6: {//Var.72, Sub.2, Pb.2
  84.         char x[20]="absolvent";
  85.         char s[20]="absolvent";
  86.         for (int i=0; i<strlen(s); i++)
  87.             if (strcmp(x, s+i)<0)
  88.                 strcpy(x, s+i);
  89.         cout<<x;//vent
  90.         break;
  91.     }
  92.     case 7: {//Var.73, Sub.2, Pb.5
  93.         int n;
  94.         cout<<"n="; cin>>n;
  95.         int nrvoc1=0, nrmin;
  96.         char c[255];
  97.         char v[255];
  98.         char fin[255];
  99.         cin.ignore();
  100.         cin.getline(v, 255);
  101.         for (int i=0; i<strlen(v); i++)
  102.             if(strchr("aeiou", v[i]))
  103.                 nrvoc1++;
  104.         nrmin=nrvoc1;
  105.         strcpy (fin, v);
  106.         for (int k=1; k<n; k++){
  107.             cin.getline(c, 255);
  108.             int nrvoc=0;
  109.             for (int i=0; i<strlen(c); i++){
  110.                 if(strchr("aeiou", c[i]))
  111.                     nrvoc++;
  112.             }
  113.             if (nrvoc<=nrmin){
  114.                 nrmin=nrvoc;
  115.                 strcpy(fin, c);
  116.             }
  117.         }
  118.         cout<<"Propozitia cu cele mai putine vocale este:"<<fin;
  119.         break;
  120.         }
  121.         case 8:{//var.74, Sub.2, Pb.2
  122.             //Varianta corecta este C
  123.         }
  124.         case 9:{//Var.78, Sub.2, Pb.5
  125.             char text [100]="examenul de bacalaureat si examenul de atestat";
  126.             char cuv[20]="examenul";
  127.             if (strstr(text, cuv)==NULL){
  128.                 cout<<"Nu apare";
  129.                 return 0;
  130.             }
  131.             char *ind;
  132.             ind=strstr(text, cuv);
  133.             while (ind){
  134.                 int p=strlen(text)-strlen(ind)+strlen(cuv);
  135.                 for (int i=strlen (text); i>p; i--)
  136.                     text[i]=text[i-1];
  137.             text[p]='?';
  138.             ind=strstr(text+p, cuv);
  139.             }
  140.             cout<<text;
  141.         }
  142.     }
  143.  
  144.     return 0;
  145. }
Advertisement
RAW Paste Data Copied
Advertisement