Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- /* Esame scritto 22 Gennaio 2015 - Paola Festa
- Esercizio 2
- Data la crisi economica, a Paperopoli si è appena cocluso un sondaggio circa l'andamento delle vendite negli
- ultimi 3 anni di M prodotti diversi in 10 negozi presenti nelle 110 strade della città.
- Si progetti ed implementi in C/C++ un algoritmo che
- 1. acquisisca da standard input due interi positivi M ed I e gli elementi di un vettore tridimensionale A di dimensione M × 10 x 110, dove
- A[i][j][k] = q>=0 indica che negli ultimi 3 anni nel negozio j della strada k sono state vendute q unità di prodotto i.
- 2. invochi una funzione che resituisca quali prodotti siano stati venduti in quantità maggiore di I nella strada numero 99 e in quali negozi della strada;
- 3. invochi una procedura che stampi su standard output per ciascuna strada e per ciascun negozio la quantità totale di prodotti in esso venduti. */
- using namespace std;
- const int neg=3;//negozi j in A[i][j][k]
- const int strd=3;//strade k in A[i][j][k]
- int strada99(int A[][neg][strd], int M, int I);//funzione per calcolare prodotti venduti in quantità maggiore di I
- void tot_prod(int A[][neg][strd], int M, int I);//Procedura per stampa output quantità totale venduta per ogni strada e ogni negozio
- //Start programma
- int main(int argc, char** argv) {
- int M=0, I=0, q=0, max=0;
- cout<<"Inserisci il numero di prodotti da controllare: ";
- cin>>M;
- while(M<1){
- cout<<"Numero non valido, inserire almeno un prodotto: ";
- cin>>M; }
- cout<<"Inserisci il numero base di prodotti venduti : ";
- cin>>I;
- while(I<1){
- cout<<"Numero non valido, inserire almeno un numero base: ";
- cin>>I; }
- int A[M][neg][strd];
- //Inserimento delle quantità di prodotto
- cout<<"\nInserisci le quantita' di prodotto vendute:\n";
- for(int i=0; i<M; i++){
- for(int j=0; j<neg; j++){
- for(int k=0; k<strd; k++){
- cout<<"Quantita' venduta del prodotto "<<i+1<<" del negozio "<<j+1<<" della strada "<<k+1<<" ("<<i+1<<","<<j+1<<","<<k+1<<"): ";
- cin>>q;
- while(q<0){
- cout<<"Numero non valiro, inserire un numero maggiore o uguale a 0: ";
- cin>>q; }
- A[i][j][k]=q; }
- cout<<" - \n"; }
- cout<<" /\n"; }
- max=strada99(A,M,I);
- tot_prod(A,M,I);
- return 0;
- }
- //funzione per calcolare prodotti venduti in quantità maggiore di I
- int strada99(int A[][neg][strd], int M, int I){
- int max_prod=0;
- cout<<"\nProdotti venduti in quantita' maggiore di I nella strada 99: \n";
- for(int i=0; i<M; i++){
- for(int j=0; j<neg; j++){
- if(A[i][j][100]>I){
- max_prod=A[i][j][100];
- cout<<"Sono state vendute "<<max_prod<<" quantita' del prodotto "<<i+1<<" nel negozio "<<j+1<<" nella strada 99.\n"; } } }
- return max_prod;
- }
- //Procedura per stampa output quantità totale venduta per ogni strada e ogni negozio
- void tot_prod(int A[][neg][strd], int M, int I){
- int max=0;
- cout<<"\nQuantita' totale venduta per ogni strada:\n";
- for(int k=0; k<strd; k++){
- for(int j=0; j<neg; j++){
- for(int i=0; i<M; i++){
- if(i==0 && j==0){
- max=A[i][j][k]; }
- else max+=A[i][j][k]; } }
- cout<<"Totale per la strada "<<k+1<<": "<<max<<".\n"; }
- cout<<"\nQuantita' totale venduta per ogni negozio:\n";
- for(int j=0; j<neg; j++){
- for(int i=0; i<M; i++){
- for(int k=0; k<strd; k++){
- if(i==0 && k==0){
- max=A[i][j][k]; }
- else max+=A[i][j][k]; } }
- cout<<"Totale per il negozio "<<j+1<<": "<<max<<".\n"; }
- return;
- }
- By Vincenzo Torino
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement