Sunteți pe pagina 1din 20

V025

#include <iostream>
#include <string.h> // Pentru strlen()

using namespace std;

int main() {
char s[101]; // Șirul de caractere
bool estePalindrom = true;

cout << "Introduceti sirul de caractere: ";


cin.getline(s, 101);

int lungime = strlen(s); // Lungimea șirului


for (int i = 0; i < lungime / 2 && estePalindrom; ++i) {
if (s[i] != s[lungime - 1 - i]) {
estePalindrom = false; // Dacă se găsește o nepotrivire, nu este
palindrom
}
}

if (estePalindrom) {
cout << "Corect" << endl;
} else {
cout << "Incorect" << endl;
}

return 0;
}

v206
roton

v208
#include <iostream>
#include <string.h> // Pentru strlen()

using namespace std;

int main() {
char s1[21]; // Cuvantul initial
char s2[21]; // Cuvantul clona
int i, j, k;

cout << "Introduceti cuvantul (maxim 20 litere mici): ";


cin >> s1;

int lungime = strlen(s1);

cout << "Clonele cuvantului: " << endl;

for (i = 0; i < lungime; i++) {


if (strchr("aeiou", s1[i]) != NULL) {
// Eliminam aparitia vocalei s1[i] din s1
for (j = 0, k = 0; j < lungime; j++) {
if (s1[j] != s1[i]) {
s2[k++] = s1[j];
}
}
s2[k] = '\0'; // Adaugam terminatorul de sfarsit al sirului

cout << s2 << endl;


}
}

return 0;
}

V032
#include <iostream>
#include <string.h> // Folosim string.h pentru operatii cu siruri de caractere

using namespace std;

int main() {
char c1, c2;
char text[251]; // Textul initial

cout << "Introduceti caracterul c1: ";


cin >> c1;
cout << "Introduceti caracterul c2: ";
cin >> c2;
cin.ignore(); // Curatam buffer-ul

cout << "Introduceti textul (maxim 250 de caractere): ";


cin.getline(text, 251);

cout << "Textul initial:\n" << text << endl;

// Parcurgem textul si facem inlocuirile


for (int i = 0; text[i] != '\0'; i++) {
if (text[i] == c1) {
text[i] = c2;
} else if (text[i] == c2) {
text[i] = c1;
}
}

cout << "Textul modificat:\n" << text << endl;

return 0;
}

v034
111111111111

v035
aaraaara

v037
#include <iostream>
#include <string.h>

int main() {
const int max_chars = 255;
char sir[max_chars];
// Citirea sirului
cout << "Introduceti un sir de caractere: ";
cin.getline(sir, max_chars);

// Procesarea sirului
int lungime = strlen(sir);
for (int i = 0; i < lungime; ++i) {
// Transformare prima litera in litera mare
if ((sir[i] >= 'a' && sir[i] <= 'z') && (i == 0 || sir[i - 1] == ' ')) {
sir[i] = sir[i] - ('a' - 'A');
}
// Transformare ultima litera in litera mare
if ((sir[i] >= 'a' && sir[i] <= 'z') && (i == lungime - 1 || sir[i + 1] ==
' ')) {
sir[i] = sir[i] - ('a' - 'A');
}
}

// Afisarea rezultatului
cout << "Sirul modificat este: " << sir << std::endl;

return 0;
}

v040
#include <iostream>
#include <string.h>

int main() {
const int max_chars = 255;
char sir[max_chars], primulCuvant[max_chars];

// Citirea sirului
cout << "Introduceti un sir de caractere: ";
cin.getline(sir, max_chars);

// Extragerea primului cuvant


char* p = strchr(sir, '*');
if (p != NULL) {
strncpy(primulCuvant, sir, p - sir);
primulCuvant[p - sir] = '\0'; // Adaugam terminatorul de sir

// Eliminarea aparițiilor primului cuvânt


char* q;
while ((q = strstr(sir, primulCuvant)) != NULL) {
strcpy(q, q + strlen(primulCuvant)); // Eliminam cuvantul
}
}

// Afisarea rezultatului
cout << "Sirul modificat este: " << sir <<endl;

return 0;
}

v041
info{

v042
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char s[41];
bool areVocale = false;

cout << "Introduceti un sir de caractere: ";


cin.getline(s, 41);

for (int i = 0; i < strlen(s); i++) {


if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] ==
'u') {
cout << s[i] << " ";
areVocale = true;
}
}

if (!areVocale) {
cout << "fara vocale";
}

return 0;
}

v043
inmatica

v044
jogp

v045
#include <iostream>
#include <string.h> // Inclus pentru lucrul cu șirurile de caractere

using namespace std;

int main() {
char str[41]; // Șirul original
cout << "Introduceți un șir de maxim 40 caractere: ";
cin >> str;

int len = strlen(str); // Lungimea șirului


for (int i = 0; i < len; i++) {
for (int j = 0; j < len; j++) {
if (i != j) {
cout << str[j];
}
}
cout << endl; // Trecem la o nouă linie după fiecare șir afișat
}

return 0;
}

v046
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char text[101]; // Șirul de intrare

cout << "Introduceți textul: ";


cin.getline(text, 101);

int lungime = strlen(text);

for (int i = 0; i < lungime; i++) {


// Verificăm dacă caracterul este o vocală
if (text[i] == 'a' || text[i] == 'e' || text[i] == 'i' || text[i] == 'o' ||
text[i] == 'u') {
text[i] = text[i] + 1; // Înlocuirea vocalei cu următorul caracter
}
}

cout << "Șirul modificat: " << text << endl;

return 0;
}

v049
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char s[21];
cout << "Introduceti cuvantul: ";
cin >> s;

for (int i = 0; i < strlen(s); i++) {


if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] ==
'u') {
cout << s[i];
}
}

return 0;
}

v050
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char s[21];
cout << "Introduceti cuvantul: ";
cin >> s;

int primaVocala = -1, ultimaVocala = -1;


int lungime = strlen(s);

// Cautam prima si ultima vocala


for (int i = 0; i < lungime; i++) {
if (strchr("aeiou", s[i]) != NULL) {
if (primaVocala == -1) {
primaVocala = i;
}
ultimaVocala = i;
}
}

// Verificam daca avem vocale in cuvant


if (primaVocala != -1) {
// Eliminam prima vocala
for (int i = primaVocala; i < lungime - 1; i++) {
s[i] = s[i + 1];
}
lungime--;

// Eliminam ultima vocala (acum la noua pozitie)


if (ultimaVocala > primaVocala) {
ultimaVocala--;
}
for (int i = ultimaVocala; i < lungime - 1; i++) {
s[i] = s[i + 1];
}
lungime--;
}

s[lungime] = '\0'; // Terminăm șirul după eliminări

cout << "Cuvantul dupa eliminarea vocalelor: " << s << endl;

return 0;
}

v051
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char s[53], rezultat[105]; // 52 caractere + terminatorul de sir pentru s, si
lungime dubla pentru rezultat
cout << "Introduceti sirul: ";
cin >> s;

int j = 0; // Index pentru sirul rezultat


for (int i = 0; s[i] != '\0'; i += 2) {
char litera = s[i];
int repetari = s[i + 1] - '0'; // Convertim cifra din caracter in numar

for (int k = 0; k < repetari; k++) {


rezultat[j++] = litera; // Adaugam litera de 'repetari' ori in rezultat
}
}
rezultat[j] = '\0'; // Adaugam terminatorul de sir

cout << "Sirul construit este: " << rezultat << endl;

return 0;
}

v055
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char numar[11];
cout << "Introduceti un numar real: ";
cin >> numar;

// Găsim poziția caracterului punct în șir


char *punct = strchr(numar, '.');

if (punct != NULL) {
*punct = '\0'; // Înlocuim punctul cu caracterul de sfârșit de șir
char *parteaIntreaga = numar;
char *parteaZecimala = punct + 1;

// Inițializăm variabilele pentru părțile întreagă și zecimală


int intreg = 0, zecimal = 0;
int semnIntreg = 1, semnZecimal = 1;

// Verificăm și gestionăm semnul pentru partea întreagă


if (*parteaIntreaga == '-') {
semnIntreg = -1;
parteaIntreaga++;
}

// Convertim partea întreagă în număr


while (*parteaIntreaga != '\0') {
intreg = intreg * 10 + (*parteaIntreaga - '0');
parteaIntreaga++;
}
intreg *= semnIntreg;

// Verificăm și gestionăm semnul pentru partea zecimală


if (*parteaZecimala == '-') {
semnZecimal = -1;
parteaZecimala++;
}

// Convertim partea zecimală în număr


while (*parteaZecimala != '\0') {
zecimal = zecimal * 10 + (*parteaZecimala - '0');
parteaZecimala++;
}
zecimal *= semnZecimal;

// Adunăm părțile întreagă și zecimală


int suma = intreg + zecimal;
cout << "Suma: " << suma << endl;
} else {
cout << "Numărul introdus nu este un număr real valid." << endl;
}

return 0;
}

v058
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char sir[51], sirNou[51];
cout << "Introduceti un sir de caractere: ";
cin.getline(sir, 51);

int j = 0;
for (int i = 0; sir[i] != '\0'; i++) {
if ((sir[i] >= 'A' && sir[i] <= 'Z') || (sir[i] >= 'a' && sir[i] <= 'z')) {
sirNou[j] = sir[i];
j++;
}
}
sirNou[j] = '\0'; // Adaugăm caracterul de terminare a șirului

cout << "Sirul fara caractere non-litera: " << sirNou << endl;

return 0;
}

v059
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char sir[51];
cout << "Introduceti sirul: ";
cin.getline(sir, 51);

int frecventa[10] = {0}; // Vector pentru numărarea frecvenței fiecărei cifre


for (int i = 0; sir[i] != '\0'; i++) {
if (sir[i] >= '0' && sir[i] <= '9') {
frecventa[sir[i] - '0']++; // Incrementăm frecvența cifrei întâlnite
}
}

int cifraMax = -1, maxFrecventa = 0;


for (int i = 0; i < 10; i++) {
if (frecventa[i] > maxFrecventa) {
maxFrecventa = frecventa[i];
cifraMax = i;
}
}
if (cifraMax == -1) {
cout << "NU" << endl;
} else {
cout << "Cifra care apare de cele mai multe ori: " << cifraMax << endl;
}

return 0;
}

v60
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char sir[51];
cout << "Introduceti sirul: ";
cin.getline(sir, 51);

int frecventa[26] = {0}; // Vector pentru frecvența literelor mici


for (int i = 0; sir[i] != '\0'; i++) {
if (sir[i] >= 'a' && sir[i] <= 'z') {
frecventa[sir[i] - 'a']++; // Incrementăm frecvența literei
}
}

int maxFrecventa = 0;
char literaMax = 0;
for (int i = 0; i < 26; i++) {
if (frecventa[i] > maxFrecventa) {
maxFrecventa = frecventa[i];
literaMax = 'a' + i;
}
}

if (literaMax) {
cout << "Litera mica cel mai des intalnita: " << literaMax << endl;
} else {
cout << "nu" << endl;
}

return 0;
}

v62
#include <iostream>
#include <string.h>

using namespace std;

int main() {
char text[256];
bool vazut[26] = {false}; // Vector de marcatori pentru literele mici

cout << "Introduceti textul: ";


cin.getline(text, 256);
for (int i = 0; text[i] != '\0'; i++) {
if (text[i] >= 'a' && text[i] <= 'z') {
if (!vazut[text[i] - 'a']) {
vazut[text[i] - 'a'] = true; // Marcam litera ca vazuta
cout << text[i] << " "; // Afisam litera
}
}
}

cout << endl;

return 0;
}

V17
C.int x.cod; float x.media;

v18.
c. struct x { float ox, oy; };

v19.
if (a.y == b.y) {
cout << "DA";
} else {
cout << "NU";
}

v20.
d. struct fractie { int nl, n2; } x;

v21.
ev.data_nasterii.an = 1990;

v22.
a. e1 = e2 + 1; și d. el.notal = e2.nota2 + 1;

v23.
300

v27.
struct fractie{
int x,y;
H=x/y;
H==G==F
}F,G,H

V31.

V37.
B) cout<<x; | printf("%c,x");

v51.
c)p.nume

v52.
a)m=(x.nota1+x.nota2)/2;

v55.
c)p.x=7;

v56.
c) struct persona{
char nume[21], prenume[21];
int sal;
}x;

v57.
c) struct carte{int val; char nume[21];}t;

v58.
b.

v62.
d.

v64.
c.

v65.
b.

v66.
c.

v67.
a.

v68.
d.

v69.
b.

v70.
a

v71.

v73.
a

v86.
a

v87.
d.

v88.
d

v89.

v90.
c.

v92.
1.
#include <iostream>
using namespace std;
struct RasaPorumbei {
int cod;
int nrExemplare;
int varsta[10]; };
int main() {
RasaPorumbei r[20];
cout << "Codul primei rase: " << r[0].cod << endl;
cout << "Numarul de exemplare din prima rasa: " << r[0].nrExemplare << endl;
cout << "Varsta celui de-al patrulea exemplar din prima rasa: " <<
r[0].varsta[3] << endl;
return 0; }

2.
a. (A.x + A.y) * (B.x + B.y) == 0

3.
a. (A.y) * (B.y) <= 0

4.
#include <iostream>
using namespace std;

struct ObiectivTuristic {
int cod;
struct {
int zi;
int luna;
} dataInceput;
struct {
int zi;
int luna;
} dataFinal;
};
int main() {
ObiectivTuristic ob;
ob.cod = 1;
ob.dataInceput.zi = 1;
ob.dataInceput.luna = 5;
ob.dataFinal.zi = 15;
ob.dataFinal.luna = 8;
cout << "Codul obiectivului: " << ob.cod << endl;
cout << "Data de inceput a perioadei recomandate: " << ob.dataInceput.zi << "/"
<< ob.dataInceput.luna << endl;
cout << "Data finala a perioadei recomandate: " << ob.dataFinal.zi << "/" <<
ob.dataFinal.luna << endl;
return 0; }

5.
#include <iostream>
#include <cstring>
using namespace std;
struct Proiect {
char tema[21];
int nrSurse;
char denAdrSursa[10][101]; };
int main() {
Proiect p;
strcpy(p.tema, "Proiect C++");
p.nrSurse = 3;
strcpy(p.denAdrSursa[0], "www.sursa1.com");
strcpy(p.denAdrSursa[1], "www.sursa2.com");
strcpy(p.denAdrSursa[2], "www.sursa3.com");
cout << "Tema proiectului: " << p.tema << endl;
cout << "Numarul de surse de documentare: " << p.nrSurse << endl;
cout << "Denumirea/Adresa web a primei surse: " << p.denAdrSursa[0] << endl;
return 0; }

6.
#include <iostream>
using namespace std;

struct Prajitura {
int numar;
struct {
int cod;
int cantitate;
} ingredient[20]; };
int main() {
Prajitura p;
p.numar = 3;
p.ingredient[0].cod = 101;
p.ingredient[0].cantitate = 200;
p.ingredient[1].cod = 102;
p.ingredient[1].cantitate = 300;
p.ingredient[2].cod = 103;
p.ingredient[2].cantitate = 150;
cout << "Numarul de ingrediente necesare: " << p.numar << endl;
for (int i = 0; i < p.numar; i++) {
cout << "Ingredient " << i + 1 << ": Cod " << p.ingredient[i].cod << ",
Cantitate " << p.ingredient[i].cantitate << endl; }
return 0; }

#4337
#include <iostream>

using namespace std;

int main() {
int n;
cout << "vect ";
cin >> n;

int a[100], b[100];

cout << "elementele vectorului ";


for (int i = 0; i < n; i++) {
cin >> a[i];
}

for (int i = 0; i < n; i++) {


b[i] = a[i];
}

for (int i = 0; i < n - 1; i++) {


for (int j = i + 1; j < n; j++) {
if (b[j] < b[i]) {
swap(b[i], b[j]);
}
}
}

for (int i = 0; i < n; i++) {


int pozitie = 1;
for (int j = 0; j < n; j++) {
if (a[i] > b[j]) {
pozitie++;
}
}
cout << pozitie << " ";
}

return 0;
}

4337
#include <iostream>

using namespace std;

int main()
{
int n;
cout << "n= ";
cin >> n;

struct Element
{
int elemCurent;
int poz;
} a[100], temp[100];

for (int i = 0; i < n; i++)


{
cin >> a[i].elemCurent;
temp[i].elemCurent = a[i].elemCurent;
}

for (int i = 0; i < n - 1; i++)


for (int j = i + 1; j < n; j++)
if (temp[j].elemCurent < temp[i].elemCurent)
{
int aux = temp[i].elemCurent;
temp[i].elemCurent = temp[j].elemCurent;
temp[j].elemCurent = aux;
}

int contor = 1;
temp[0].poz = contor;
for (int i = 1; i < n; i++)
if (temp[i].elemCurent == temp[i - 1].elemCurent)
temp[i].poz = contor;
else
temp[i].poz = ++contor;

for (int i = 0; i < n; i++)


for (int j = 0; j < n; j++)
{
if (a[i].elemCurent == temp[j].elemCurent)
{
a[i].poz = temp[j].poz;
break;
}
}

int b[100];
for (int i = 0; i < n; i++)
b[i] = a[i].poz;

for (int i = 0; i < n; i++)


cout << b[i] << " ";

return 0;
}

922
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int n, C = 0;
cout << "n= ";
cin >> n;

float dMax = 0.0;


int x, y;

for (int i = 0; i < n; i++)


{
cout << "coordonatele x si y ale punctului " << i + 1 << ": ";
cin >> x >> y;

float d = sqrt(x * x + y * y);

cout << d << endl;

if (d > dMax)
{
dMax = d;
C = 1;
}
else if (d == dMax)
{
C++;
}
}

cout << "Dist. max=" << dMax << "... numarul de puncte cu distanta maxima: " <<
C;

return 0;
}

1013
int main()
{
int n,p, q;
cout<<"n=";
cin>>n;
struct
{
int an,luna,zi,poz;
}data[n],aux;
for(int i=0;i<n;i++)
{
cin>>data[i].an>>data[i].luna>>data[i].zi;
data[i].poz=i+1;
}
for (int i=0;i<n-1;i++)
for (int j=i+1;j<n;j++)
if (data[j].an<data[i].an ||
(data[j].an==data[i].an && data[j].luna<data[i].luna) ||
(data[j].an==data[i].an && data[j].luna==data[i].luna &&
data[j].zi<data[i].zi))
{
aux=data[j];
data[j]=data[i];
data[i]=aux;
}
p=data[0].poz;
q=data[n-1].poz;
cout<<p<<" "<<q;
return 0;
}

2568

#include <iostream>
#include <fstream>

using namespace std;

int ePrim(int n)
{
if (n == 0 || n == 1)
return 0;
else if (n == 2)
return 1;
else
{
int estePrim = 1;
for (int i = 2; i * i <= n; i++)
if (n % i == 0)
estePrim = 0;
return estePrim;
}
}

int main()
{
ifstream f("cubprim.in");
ofstream g("cubprim.out");

int n, contor = 0;
f >> n;

int a[n];

for (int i = 0; i < n; i++)


{
f >> a[i];
if (ePrim(a[i]) && ePrim(cbrt(a[i])))
{
contor++;
}
}

g << contor << endl;

for (int i = 0; i < n; i++)


{
if (ePrim(a[i]) && ePrim(cbrt(a[i])))
{
g << i + 1 << " " << cbrt(a[i]) << " " << a[i] << endl;
}
}

return 0;
}

3975

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
ifstream f("intervale.in");
ofstream g("intervale.out");
int n;
f>>n;
struct
{
int a;
int b;
int contor=1;///nr de intervale cu care se intersecteaza
}inv[n];

for(int i=0;i<n;i++)
f>>inv[i].a>>inv[i].b;

for(int i=0;i<n;i++)///iteram elementele fiecarui interval


for(int j=0;j<n;j++)
if(i!=j)
if(inv[i].a>=inv[j].a && inv[i].a<=inv[j].b ||
inv[i].b>=inv[j].a && inv[i].b<=inv[j].b ||
inv[j].a>=inv[i].a && inv[j].a<=inv[i].b ||
inv[j].b>=inv[i].a && inv[j].b<=inv[i].b)///am verificat daca
capetele a si b ale intervalului i se gasesc intre capetele a si b ale intervalului
j si invers
inv[i].contor++;
int mx=inv[0].contor;
for(int i=1;i<n;i++)
if(inv[i].contor>mx)
mx=inv[i].contor;///am gasit numarul maxim de intervale ce se
intersecteaza
g<<mx;
return 0;
}

3164
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("qclasa.in");
ofstream g("qclasa.out");
int n,contor=0;
f>>n;
struct
{
int cod;
int medie;
int nrAbs;
}e[n],aux;
for(int i=0;i<n;i++)
f>>e[i].cod>>e[i].medie>>e[i].nrAbs;
for(int i=0;i<n;i++)
if(e[i].medie==10)
contor++;
g<<contor<<endl;

int md=0;
for(int i=0;i<n;i++)
md+=e[i].medie;
g<<md/n<<endl;

///ordonam descrescator dupa absente


///daca absentele sunt egale ordonam crescator dupa cod in cadrul aceluiasi
numar de absente
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(e[j].nrAbs>e[i].nrAbs ||///descrescator dupa nrAbs
(e[j].nrAbs==e[i].nrAbs && e[j].cod<e[i].cod))///crescator dupa cod
la acelasi nrAbs
{
aux=e[j];
e[j]=e[i];
e[i]=aux;
}
g<<e[0].cod<<" "<<e[0].medie<<" "<<e[0].nrAbs<<endl;
g<<e[1].cod<<" "<<e[1].medie<<" "<<e[1].nrAbs<<endl;
return 0;
}

3481
#include <iostream>
#include <fstream>
using namespace std;

int nrDiv(int n)
{
int contor=0;
for(int i=1;i<=n;i++)
if(n%i==0)
contor++;
return contor;
}

int cifControl(int n)
{
int cif;
cif=0;
while(n>0)
{
cif+=n%10;
n/=10;
}
n=cif;
return cif;
}

int primaCif(int n)
{
while(n>9)
n/=10;
return n;
}

int main()
{
ifstream f("sort_div.in");
ofstream g("sort_div.out");
int n;
f>>n;
struct
{
int elemCurent;
int nrDiv;
int cifControl;
int primaCifra;
}a[n],aux;

for(int i=0;i<n;i++)
{
f>>a[i].elemCurent;
a[i].nrDiv=nrDiv(a[i].elemCurent);
a[i].cifControl=cifControl(a[i].elemCurent);
a[i].primaCifra=primaCif(a[i].elemCurent);
}
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(a[j].nrDiv<a[i].nrDiv ||
(a[j].nrDiv==a[i].nrDiv && a[j].cifControl<a[i].cifControl) ||
(a[j].nrDiv==a[i].nrDiv && a[j].cifControl==a[i].cifControl &&
a[j].primaCifra<a[i].primaCifra) ||
(a[j].nrDiv==a[i].nrDiv && a[j].cifControl==a[i].cifControl &&
a[j].primaCifra==a[i].primaCifra && a[j].elemCurent<a[i].elemCurent))
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
}
for(int i=0;i<n;i++)
g<<a[i].elemCurent<<" "<<a[i].nrDiv<<" "<<a[i].cifControl<<"
"<<a[i].primaCifra<<endl;
return 0;
}

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