Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //Inserimento vettore
- void inserimento(int v[], int dim) {
- int i;
- for (i=0; i<dim; i++) {
- cout << "V[" << i << "] = ";
- cin >> v[i];
- }
- }
- //Inserimento solo positivi
- void inserimentoPositivi(int v[], int dim) {
- int i;
- for (i=0; i<dim; i++) {
- do {
- cout << "V[" << i << "] = ";
- cin >> v[i];
- if (v[i]<0) {
- cout << "Errore, riprova!" << endl;
- }
- }while(v[i]<0);
- }
- }
- //Calcolo somma
- int calcSomma(int v[], int dim) {
- int i, somma=0;
- for (i=0; i<dim; i++) {
- somma += v[i];
- }
- return somma;
- }
- //Calcolo prodotto
- int calcProdotto(int v[], int dim) {
- int i, prodotto=1;
- for (i=0; i<dim; i++) {
- prodotto = prodotto*v[i];
- }
- return prodotto;
- }
- //Calcolo quanti pari
- int quantiPari(int v[], int dim) {
- int i, pari=0;
- for (i=0; i<dim; i++) {
- if (v[i]%2==0) {
- pari++;
- }
- }
- return pari;
- }
- //Calcolo quanti dispari
- int quantiDispari(int v[], int dim) {
- int i, dispari=0;
- for (i=0; i<dim; i++) {
- if (v[i]%2==0) {
- //null;
- }
- else {
- dispari++;
- }
- }
- return dispari;
- }
- //Controllo segni
- bool controlloSegni(int v[], int dim) {
- int i=0;
- bool trovato=false;
- while ( (!trovato)&&(i<dim) ) {
- if (v[i]<0) {
- trovato = true;
- }
- else {
- i++;
- }
- }
- return trovato;
- }
- //Cerca X
- bool cercaX(int v[], int dim, int x) {
- int i=0;
- bool trovato=false;
- while ( (!trovato)&&(i<dim) ) {
- if (v[i]==x) {
- trovato = true;
- }
- else {
- i++;
- }
- }
- return trovato;
- }
- //Cerca posizione X
- int posizioneX(int v[], int dim, int x) {
- int i=0, posizione=-1;
- bool trovato=false;
- while ( (!trovato)&&(i<dim) ) {
- if (v[i]==x) {
- posizione = i;
- trovato = true;
- }
- else {
- i++;
- }
- }
- return posizione;
- }
- //Calcolo quanti positivi
- int quantiPositivi(int v[], int dim) {
- int i, positivi=0;
- for (i=0; i<dim; i++) {
- if (v[i]>0) {
- positivi++;
- }
- }
- return positivi;
- }
- //Calcolo quanti negativi
- int quantiNegativi(int v[], int dim) {
- int i, negativi=0;
- for (i=0; i<dim; i++) {
- if (v[i]<0) {
- negativi++;
- }
- }
- return negativi;
- }
- //Visualizza array invertito
- void mostraInvertito(int v[], int dim) {
- int i;
- for (i=dim-1; i!=-1; i--) {
- cout << "V[" << i << "] = " << v[i] << endl;
- }
- }
- int main()
- {
- /*Scrivere un programma che:
- *1) faccia definire la dimensione di un vettore;
- *2) faccia inserire gli elementi nel vettore;
- *3) calcoli: somma, prodotto, quanti pari e quanti dispari;
- *4) controlli: se sono tutti positivi o meno, se esiste x e in che posizione si trova;
- *5) cerchi: quanti positivi, quanti negativi;
- *6) visualizzi le informazioni + l'array invertito.*/
- //Variabili vettore
- int v[100], dim=0;
- //Variabili richiamo funzioni
- int calc_Somma=0, calc_Prodotto=0, quanti_Pari=0, quanti_Dispari=0, quanti_Positivi=0, quanti_Negativi=0;
- bool controllo_Segni, cerca_X=0;
- int x=0, posizione_X=0;
- //Definizione dimensione vettore
- do {
- cout << "Dimensione = ";
- cin >> dim;
- if ( (dim<1)||(dim>100) ) {
- cout << "Errore, riprova!" << endl;
- }
- cout << endl;
- }while( (dim<1)||(dim>100) );
- //Richiamo inserimento vettore
- //inserimento(v, dim);
- inserimentoPositivi(v, dim);
- //Richiamo mostra array invertito
- cout << endl;
- mostraInvertito(v, dim);
- //Richiamo e visualizzazione quanti positivi
- quanti_Positivi = quantiPositivi(v, dim);
- cout << "\nPositivi = " << quanti_Positivi << endl;
- //Richiamo e visualizzazione quanti negativi
- quanti_Negativi = quantiNegativi(v, dim);
- cout << "Negativi = " << quanti_Negativi << endl;
- //Richiamo e visualizzazione quanti pari
- quanti_Pari = quantiPari(v, dim);
- cout << "Pari = " << quanti_Pari << endl;
- //Richiamo e visualizzazione quanti dispari
- quanti_Dispari = quantiDispari(v, dim);
- cout << "Dispari = " << quanti_Dispari << endl;
- //Richiamo e visualizzazione somma
- calc_Somma = calcSomma(v, dim);
- cout << "Somma = " << calc_Somma << endl;
- //Richiamo e visualizzazione prodotto
- calc_Prodotto = calcProdotto(v, dim);
- cout << "Prodotto = " << calc_Prodotto << endl;
- //Richiamo controllo segni e condizione per messaggio da visualizzare
- controllo_Segni = controlloSegni(v, dim);
- if (controllo_Segni==true) {
- cout << "Non sono tutti positivi." << endl;
- }
- else {
- cout << "Sono tutti positivi." << endl;
- }
- //Inserimento valore X da cercare
- cout << "\nX = ";
- cin >> x;
- cout << endl;
- //Richiamo cerca X e condizione per messaggio da visualizzare
- cerca_X = cercaX(v, dim, x);
- if (cerca_X==true) {
- cout << "Esiste X." << endl;
- }
- else {
- cout << "Non esiste X." << endl;
- }
- //Richiamo e condizione messaggio da visualizzare di cerca posizione X
- posizione_X = posizioneX(v, dim, x);
- if (posizione_X!=-1) {
- cout << "Posizione = " << "V[" << posizione_X << "]" << endl;
- }
- else {
- cout << "Posizione = " << "V[null]" << endl;
- }
- cout << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement