void main() { int migr[41][41][2][2]; clrscr(); for(int i=0;i<41;i++) { for(int j=0;j<41;j++) { if(i!=j) { printf("De la judetul au migrat %d la judetul %d:\n",i+1,j+1); printf("In mediul urban %d persoane, din care %d M si %d F\n",migr[i][j][0][0]+migr[i][j][0][1],migr[i][j][0][0],migr[i][j][0][1]); printf("In mediul rural %d persoane, din care %d M si %d F\n",migr[i][j][1][0]+migr[i][j][1][1],migr[i][j][1][0],migr[i][j][1][1]); } Structuri de date - Culegere de probleme n C++ Agregarea structurilor
} } getch(); }
Problema 11.2. V LMbWV m LVL V L VVMVMV bM descrise cu n LLVbL. 1VLV LVLV V MM MMM VLV WV LM@MVMV. bV WVMVbL bMLM WV WV LV @VMV V@VVMV LVL M LM @LM M LV n=2 (nivVM g VLVM . bV LLMVV MVW g Wb@Vb @VMM VLV bVV.
float dispersie(Serie ser,float (*pf)(Serie)) { float disp=0; float med=(*pf)(ser); Structuri de date - Culegere de probleme n C++ Agregarea structurilor
Problema 11.3. V LMbWV MM MV M WM bVM MMV LM q VLV MVMM LVL MW WVbLbV MVV WbL@MVV WM M qZq H g WV bMW. bV Lalculeze mediile anuale g MVW VMV VL M bVM. 1VV bV M V definire.
clrscr(); printf("Matricola|Nume prenume|Medii ani| Media generala\n\n"); for(int i=0;i<n;i++) { memset(medii,0,sizeof(float)*ANI); med_gen=0.0; for(int j=0;j<ANI;j++) { Structuri de date - Culegere de probleme n C++ Agregarea structurilor
Problema 11.4. V LMbWV MM MV LM VMbV M- MM L V MMM MM WV@ gVgV V iq LMMbLM . 1M VLV LM bV nscriu cel mult M produse sau servic LV bV LM MV q indicndu-bV WVMMMVq MMV WV M bM q LMVq @V MMq 1. bV bLV @MM LV LLMV V @WMbV g bVL LM MV M- MM bMW VL WV LVq VL V LM Lespunzndu-i o componenta a unui vector g VL M @WMb bM bVLM LVb@MMMWM-i, de asemenea, o componenta n alt vector de articole.
Rezolvare:
#include <stdio.h> #include <conio.h>
#define N 30 #define M 20
struct ArticolFactura { char den[20]; int pu; char um[4]; int cant; int ctva; Structuri de date - Culegere de probleme n C++ Agregarea structurilor
};
struct Factura { int nra; int numar; char data[11]; ArticolFactura af[M]; };
void main() { int n,m; Factura fact[N];
double valf=0.0; double tvaf=0.0;
double total_fara_tva=0.0; double total_tva=0.0; double total=0.0; clrscr(); printf("Numar de facturi:"); scanf("%d",&n); for(int i=0;i<n;i++) { valf=0.0; tvaf=0.0; printf("\nNumar factura: "); scanf("%d",&fact[i].numar); fflush(stdin); printf("Data:"); gets(fact[i].data); printf("Articole in factura %d: ",i+1); scanf("%d",&fact[i].nra); fflush(stdin); for(int j=0;j<fact[i].nra;j++) { printf("\n\nDenumire:"); gets(fact[i].af[j].den); Structuri de date - Culegere de probleme n C++ Agregarea structurilor
fa31=new Factura; fa31->val=8000000.0;fa31->urm_fact=NULL; fa11->urm_fact=fa12; fa21->urm_fact=fa22; fa22->urm_fact=fa23; Structuri de date - Culegere de probleme n C++ Agregarea structurilor
Structuri de date - Culegere de probleme n C++ Agregarea structurilor
Problema 11.6. Se consider bMLM WV WV VVV @WMbV MW L MM ` WVMMMV @WMbq LMVMVV Vq LMVMV Vq @VLMM g MVW WV LLM @V MM @WMbMM. bV LVVV MM bMLM WV WV LV V M @Mb MM Wb @V M WV baz MM g MM MML V WV LLM @V MM @WMbMM.
istream & operator>>(istream &in,Adresa &a) { cout<<"Strada:"; in>>a.str; cout<<"Nr: "; in>>a.nr; cout<<"Judetul:"; in>>a.judet; return in; } Structuri de date - Culegere de probleme n C++ Agregarea structurilor