Sunteți pe pagina 1din 2

marți, 29 noiembrie 2022

1 /// (2) Varianta 2 de la problema de ieri (28.11.2022)


2 /**
3 Se citeste de la tastatura un sir cu max 250 de caractere
4 litere, cifre si spatii. Determinati:
5 -ultimele doua caractere
6 -literele mici din sir
7 -sirul obtinut prin modificarea fiecarui caracter de la
8 inceputul unui cuvant din litera mare in litera mica sau
9 invers si adaugarea la sfarsitul sirului a secventei "xyz"
10 */
11 #include <iostream>
12 #include <cstring>
13 using namespace std;
14
15 int main ()
16 {
17 // char s[251];
18 // cout << " Sirul s va fi: ";
19 // cin.getline(s,251);
20 // cout << " Ultimele 2 caractere: ";
21 // cout << s[strlen(s)-2] << s[strlen(s)-1] << endl;
22 // cout <<" Literele mici din sir: ";
23 // for(int i=0; i<strlen(s); i++)
24 // if(s[i]>='a' && s[i]<='z')
25 // cout << s[i] << " ";
26 . . . . . . . . . . . . . . . . . . . .
27 /// Puteti copia de aici in jos ...
28
29 char *p= strtok(s," "), t[251]="";
30 while (p)
31 {
32 if(isupper(p[0]))
33 p[0]=tolower(p[0]);
34 else
35 p[0]=toupper(p[0]);
36 strcat(t,p);
37 strcat(t," ");
38 p = strtok(NULL," ");
39 }
40 strcpy(s,t);
41 strcat(s,"xyz");
42 cout << "\n Sirul modificat este: " << s;
43
44 return 0;
45 }
46
47 ______________________________________________________
48
49 /// (3) Varianta 3 de la problema de ieri (28.11.2022)
50 /**
51 Se citeste de la tastatura un sir cu max 250 de caractere
52 litere, cifre si spatii. Determinati:
53 -ultimele doua caractere
54 -literele mici din sir
55 -sirul obtinut prin modificarea fiecarui caracter de la
56 inceputul unui cuvant din litera mare in litera mica sau
57 invers si adaugarea la sfarsitul sirului a secventei "xyz"
58 */
59 #include <iostream>
60 #include <cstring>
61 using namespace std;
62
63 int main ()
64 {
65 // char s[251];
66 // cout << " Sirul s va fi: ";
67 // cin.getline(s,251);
68 // cout << " Ultimele 2 caractere: ";
69 // cout << s[strlen(s)-2] << s[strlen(s)-1] << endl;
70 // cout <<" Literele mici din sir: ";
71 // for(int i=0; i<strlen(s); i++)
72 // if(s[i]>='a' && s[i]<='z')
marți, 29 noiembrie 2022
73 // cout << s[i] << " ";
74 . . . . . . . . . . . . . . . . . . . .
75 /// Puteti copia de aici in jos ...
76
77 char *p= strtok(s," "), t[50][251];
78 int k=0;
79 while (p)
80 {
81 strcpy(t[k++], p);
82 p = strtok(NULL, " ");
83 }
84
85 for (int i=0; i<k; i++)
86 {
87 if(isupper(t[i][0]))
88 t[i][0]=tolower(t[i][0]);
89 else
90 t[i][0]=toupper(t[i][0]);
91
92 if (i==0) strcpy(s,"");
93 else strcat(s," ");
94 strcat(s,t[i]);
95 }
96
97 strcat(s,"xyz");
98 cout << "\n Sirul modificat este: " << s;
99
100 return 0;
101 }

S-ar putea să vă placă și