Probleme rezolvate in C++


1. Să se verifice dacă un număr este pozitiv.

#include<iostream.h>

void main()

{

int a;

//citim numarul

cout<<„a=”;cin>>a;

//verificam daca numarul este pozitiv

if(a>=0) cout<<„numar pozitiv”;

else cout<<„numarul negativ”;

}

2. Să se verifice dacă un număr aparţine intervalului [a,b]. a şi b sunt numere reale citite de la tastatură.

#include<iostream.h>

void main()

{float a,b,n;

//citim datele de intrare: a,b si numarul dat

cout<<„a=”;cin>>a;

cout<<„b=”;cin>>b;

cout<<„n=”;cin>>n;

//verificam daca numarul n apartine intervalului [a,b]

if(n>=a and n<=b)cout<<n<<” apartine intervalului [a,b]”;

else cout<<n<<” nu apartine intervalului [a,b]”;

}

3. Să se verifice daca 3 numere citite de la tastatura sunt nule.

#include<iostream.h>

void main()

{float a,b,c;

//citim datele de intrare: a,b si numarul dat

cout<<„a=”;cin>>a;

cout<<„b=”;cin>>b;

cout<<„c=”;cin>>c;

//verificam daca numerele sunt nule

if(a==0 && a==0 && c==0)cout<<” toate numerele sunt nule”;

else cout<<” nu sunt toate nule”;

}
1. Se citesc de la tastatura n elemente. Cate dintre ele fac parte din intervalul [x,y]? x si y se citesc de la tastatura.

#include<iostream.h>

int a[100],n,x,y,c;

void main()

{

cout<<„numarul de elemente: „;cin>>n;

cout<<„elementele\n”;

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

{

cout<<„a[„<<i<<„]=”;cin>>a[i];

}

cout<<„\ns-au citit elementele: „;

for(i=1;i<=n;i++) cout<<a[i]<<” „;

cout<<„\nx=”;cin>>x;

cout<<„\ny=”;cin>>y;

//contor pentru numerele cautate

c=0;

for(i=1;i<=n;i++)

if(a[i]>=x&&a[i]<=y)c++;

cout<<„\nnr=”<<c<<endl;\

}

2. Se citesc de la tastatura n numere. Care sunt pozitiile din vector unde se gasesc elemente pare?

#include<iostream.h>

int a[100],n;

void main()

{

cout<<„numarul de elemente: „;cin>>n;

cout<<„elementele\n”;

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

{

cout<<„a[„<<i<<„]=”;cin>>a[i];

}

for(i=1;i<=n;i++)

if(a[i]%2==0)cout<<i<<” „;

}

3. Se citesc n elemente reale. Care este suma elementelor aflate pe pozitii impare in vector?

#include<iostream.h>

int a[100],n,s=0;

void main()

{

cout<<„numarul de elemente: „;cin>>n;

cout<<„elementele\n”;

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

{

cout<<„a[„<<i<<„]=”;cin>>a[i];

}

//suma elementelor de pe pozitii impare

for(i=1;i<=n;i++)

if(i%2==1)s=s+a[i];

cout<<„s=”<<s;

}

1. Se citeşte un text într-o variabilă de tip string, in care cuvintele se despart prin spaţii. Se cere:
a) Să se afişeze cuvintele în ordine alfabetică;
b) Să se numere cuvintele cu minim 4 vocale distincte

#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char text[100],*p, separator[]=” „, cuv[10][10], cuvant[10], aux[10] ; int nrv=0,voc, nr, k, i, j;
cout<<„Dati sirul:”;cin.get(text,100);
strcpy(p,text) ;
p=strtok(p,separator) ;
while(p)
{
strcpy(cuv[++nr],p);
p=strtok(NULL,separator);
}
for(i=1;i<nr;i++)
for(j=i+1;j<=nr;j++)
if(strcmp(cuv[i],cuv[j])>0)
{
strcpy(aux,cuv[i]);
strcpy(cuv[i],cuv[j]);
strcpy(cuv[j],aux);
}
for(i=1;i<=nr;i++)
cout<<cuv[i];
for(i=1;i<=nr;i++)
{
voc=0;
strcpy(cuvant,cuv[i]);
k=strlen(cuvant) ;
for(j=0;j<k;j++)
{switch(cuvant[j])
{
case ‘a’:
case ‘e’:
case ‘i’:
case ‘o’:
case ‘u’:{voc++; break;}
}}
if (voc>=4) nrv++ ;
}
cout<<nrv;
getch();
}

2. Fişierele cuv1.txt şi cuv2.txt conţin cuvinte, câte un cuvânt pe linie în ordine alfabetică. Să se construiască fişierul cuv3.txt care să conţină toate cuvintele din cele două fişiere, în ordine alfabetică.

#include <iostream.h>
#include <conio.h>
#include <string.h>
#include<fstream.h>
#include<stdio.h>
void main()
{char a[10], b[10], cuv[10][20], aux[10]; int i,j,nr=0;
clrscr();
fstream f(„cuv1.txt”, ios::in);
while(f.getline(a,10))strcpy(cuv[++nr],a);
ifstream g(„cuv2.txt”);
while(g.getline(b,10))strcpy(cuv[++nr],b);

for(i=1;i<nr;i++)
for(j=i+1;j<=nr;j++)
if(strcmp(cuv[i],cuv[j])>0)
{
strcpy(aux,cuv[i]);
strcpy(cuv[i],cuv[j]);
strcpy(cuv[j],aux);
}
for(i=1;i<=nr;i++)
cout<<cuv[i]<<endl;
getch();}

3. În fişierul date.in sunt scrise mai multe cuvinte câte unul pe fiecare linie din fişier. Se cere:
a) Să se determine numărul de cuvinte din fişier;
b) Să se afişeze cuvintele care încep cu o vocală.

#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include<conio.h>
void main()
{
char a[10]; int k, i, nr=0;
clrscr();
fstream f(„date.in”,ios::in);
while(f.getline(a,10))
{if(a[0]==’a’||a[0]==’e’||a[0]==’i’||a[0]==’o’||a[0]==’u’) cout<<a<<endl; nr++;
}
cout<<nr;
}

La o staţie de benzină există mai multe maşini caracterizate prin număr, marcă şi culoare. Se cere:
a) Să se determine numărul maşinilor Dacia;
b) Să se ordoneze maşinile după culoare.

#include<iostream.h>
#include<string.h>
#include<conio.h>
typedef struct
{char marca[20],culoare[20],med[20];
int nr;}masina ;
masina a[20];
int n,x,k;
void citire()
{int i;
cout<<„n=”;cin>>n;
for (i=1;i<=n;i++)
{cout<<„a[i].marca: „;cin>>a[i].marca;
cout<<„a[i].culoare: „;cin>>a[i].culoare;
cout<<„a[i].numar: „;cin>>a[i].nr;
}
}
void nr_dacia()
{ int i;
int nr=0;
for (i=1;i<=n;i++)
{x=strcmp(a[i].marca,”dacia”);
if (x==0) nr=nr+1;}
cout<<„numarul de masini Dacia este „<<nr<<„\n”;
}
void sortare()
{ int i,j;masina aux;

for (i=1;i<=n-1;i++)
for (j=i+1;j<=n;j++)
{x=strcmp(a[i].culoare,a[j].culoare);
if(x>0)
{aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
for (i=1;i<=n;i++)
cout<<a[i].culoare<<” „<<a[i].marca<<” „<<a[i].nr<<endl;
}

void main()
{
citire();
nr_dacia();
sortare();
}

Pentru evidenţa produselor cosmetice dintr-un depozit, se defineşte o structură cu următoarele informaţii: codul produsului, denumire, preţul produsului. Citiţi informaţiile tuturor produselor şi afişaţi produsele cu noile preţuri (valoarea lui x este 7 dacă codul produsului este mai mic decât 500. Şi 11 în caz contrar). Afişaţi produsele cu cel mai mare preţ după scumpire.

#include<iostream.h>
#include<string.h>
#include<conio.h>
typedef struct
{int cod,c,p,pret;
char den[20];}produse;
produse a[20];
int n,i,c,p;
void citire()
{
cout<<„Dati numarul de produse „;cin>>n;
for (i=1;i<=n;i++)
{cout<<„codul produsului „;cin>>a[i].cod;
cout<<„pretul produsului „;cin>>a[i].pret;
cout<<„denumirea produsului „;cin>>a[i].den;}
}
void rezolvare()
{
for (i=1;i<=n;i++)
if(a[i].cod<500) a[i].pret=7;
else a[i].pret=11;
for (i=1;i<=n;i++)
cout<<„pretul „<<a[i].den<<” este „<<a[i].pret<<„\n”;
cout<<endl;
for (i=1;i<=n;i++)
if(a[i].pret==11) cout<<a[i].den<<„\n”;
}
void main()
{
citire();
rezolvare();
}

Se citesc de la tastatură numele şi media generală a n elevi. Se cere să se afişeze lista elevilor în ordinea descrescătoare a mediilor.

#include<iostream.h>
#include<string.h>
typedef struct elev{
char nume[50];
float medie;
};
elev a[100],aux;
int n;
void citire()
{int i;
cout<<„n=”;cin>>n;
for(i=1;i<=n;i++)
{cout<<„a[i].nume: „;cin>>a[i].nume;
cout<<„a[i].medie: „;cin>>a[i].medie;
}
}
void sortare()
{int i,j;
for(i=1;i<n;i++)
{for(j=i+1;j<=n;j++)
if(a[i].medie<a[j].medie)
{aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
}
void afisare()
{int i;
for(i=1;i<=n;i++)
cout<<a[i].nume<<” „<<a[i].medie<<endl;

}
void main()
{citire();
cout<<„lista de elevi\n”;
afisare();
sortare();
cout<<„dupa sortare\n”;
afisare();
}

Lasă un răspuns!

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s