Sunteți pe pagina 1din 3

La o staie de benzin exist mai multe maini caracterizate prin numr, marc i culoare.

Se cere: a) S se determine numrul mainilor Dacia; b) S se ordoneze mainile 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 evidena produselor cosmetice dintr-un depozit, se definete o structur cu urmtoarele informaii: codul produsului, denumire, preul produsului. Citii informaiile tuturor produselor i afiai produsele cu noile preuri (valoarea lui x este 7 dac codul produsului este mai mic dect 500. i 11 n caz contrar). Afiai 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 afieze lista elevilor n ordinea descresctoare 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(); }

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