Informatică, întrebare adresată de Me012, 9 ani în urmă

Scrieti un program care primeste de la tastatura un tablou unidimensional cu n elemente nr intregi, fiecare element avand cel mult 4 cifre, si afiseaza pe ecran produsul elementelor impare din tablou, sau valoarea 0 daca nu exista elemente impare.
Exemplu: pentru tablelul v=(-3,8,5,1,2,4) programul va afisa numarul -15 (-3*5*1), iar pentru tabloul v=(12.0,4,16) se va afisa valoarea 0.

Răspunsuri la întrebare

Răspuns de artur99
1
#include <iostream>
using namespace std;

int main(){
    int n, p=0, eroare=0;
    cout<<"n="; cin>>n;
    int v[n]; //Declaram vectorul cu n elemente
    for(int i=0;i<n;i++){
        cout<<"v["<<i<<"]=";
        cin>>v[i]; //Citim fiecare element al vectoruului
        if(v[i]>9999||v[i]<-9999){
            cout<<"\nNumar invalid";//Daca contine numere invalide iesim din for
            eroare=1;
            break;
        }
        if(v[i]%2==1||v[i]%2==-1){
            p=1;//Daca exista numere pare in vector, schimbam p in 1, ca sa
                  // putem inmulti mai tarziu
        }
    }
    if(!eroare){
        for(int i=0;i<n;i++)
            if(v[i]%2==1||v[i]%2==-1)
                p*=v[i];
        cout<<"Produs: "<<p;
    }
}

artur99: Testat pe compiler, sigur merge :D
Alte întrebări interesante