PDA

Visualizza la versione completa : [C++] Input di elementi in un vettore e somma di determinati elementi


fabdeg2010
07-05-2007, 19:30
testo 2
Sia assegnato in ingresso da tastiera un vettore di reali v Si scriva un programma che calcoli la somma som degli elementi di posto pari ed il prodotto diegli elementi di posto dispari.si stampi v somma e prodotto.Il programma deve essere articolato in funzioni(input,output,somprod).qualcuno sa darmi qualche suggerimento?

Xaratroom
07-05-2007, 20:49
per input e output non credo ci siano grossi problemi ...
per la somma e il prodotto eccoti un pezzettino di codice

somma = 0;
prodotto = 1;

if (i % 2)
prodotto *= v[i];
else
somma += v[i];

fabdeg2010
08-05-2007, 23:56
#include<iostream>
#include<stdlib.h>
using namespace std;
void input(int v[i],int i);
void output(int v[i],int som,int prod);
void somprod(int v[i],int som,int prod);
int main()
{int v[7];
cout<<"inserire i valori del vettore v\n";
input (v);
som=0;
prod=1;
if(i%2)
{prod=v[i];
}
else
{som=v[i];
}
output (v,som,prod);
somprod(v,som,prod);
system ("PAUSE");
return 0;
}
ho provato cosi ma nn mi gira qualcuno sa dirmi il perche?

oregon
09-05-2007, 00:14
1) Deve essere

prod *= v[i];

e non

prod=v[i];

2) Deve essere

som += v[i];

e non

som = v[i];

3) non hai mostrato il codice delle funzioni input, output, somprod ... e quindi non so se sono giuste o sbagliate; pero' la input l'hai dichiarata con due parametri e la usi con uno ...

fabdeg2010
10-05-2007, 14:00
#include<iostream>
#include<stdlib.h>
using namespace std;
void input(int v[])
void somprod(int v[],int&som ,int&prod,int i)
void output(int&som,int&prod)
int main()
{int v[5];
cout<<"inserisci i valori di v\n";
input(v);
somprod(int v[],int&som,int&prod,int i);
output(int&som,int&prod);
system ("PAUSE");
return 0;
}
void input(int v[])
{int i
for(i=0,i<5,i++);
cin>>v[i];
}
void somprod(int v[],int&som,int&prod,int i)
{som=0;
prod=1;
if(i%2)
{prod*=v[1];
}
else
{som+=0;
}
void output(int som,int prod)
{cout<<"la somma e\'"<<som;
cout<<"il prod e\'"<<prod;
cout<<"\n\n";
}

ho riprovato cosi ma nulla ancora

bigmickey
10-05-2007, 15:50
Ma i ";" te li mangi ?

oregon
10-05-2007, 15:51
Senti ... ci sono troppi errori per indicarti ogni errore e correzione ...

Te lo riscrivo e tu vedi le differenze ...



#include <iostream>
#include <stdlib.h>

using namespace std;

void input(int v[])
{
int i;
for(i=0;i<5;i++)
cin>>v[i];
}

void somprod(int v[], int &som, int &prod)
{
int i;

som=0;
prod=1;

for(i=0;i<5;i++)
if(i%2)
prod*=v[i];
else
som+=v[i];
}

void output(int som, int prod)
{
cout << "la somma e' " << som << "\n";
cout << "il prod e' " << prod << "\n";
cout << "\n\n";
}

int main()
{
int som, prod;
int v[5];
cout<<"inserisci i valori di v\n";
input(v);

somprod(v, som, prod);

output(som, prod);

system ("PAUSE");
return 0;
}

fabdeg2010
10-05-2007, 22:13
Grazie mille in pratica dovevo esplicitare una per volta le funzioni..

oregon
11-05-2007, 00:58
Beh ... c'erano un bel po' di dimenticanze ed errori diversi ... devi stare molto attento perche' un ; che manca puo' creare un po' di grattacapi ...

fabdeg2010
11-05-2007, 14:21
testo 4:
siano assegnati in ingresso da tastiera 2 vettori v1 e v2 e i loro riempimenti n1 n2
Supponiamo che v1 sia in ordine crescente.scrivere un programma che inserisca in v1 gli elementi di v2 mantenendo sempre l'ordine crescente.stampare v1 modificato.si suggerisce di utilizzare le funzioni input,output,inserisci
inoltre si supponga n1=7 e n2=4)
#include<iostream>
#include<stdlib.h>
using namespace std;
void input(int v1[],int v2[])
{int v1[],v2[];
for(i=0;i<7;i++)
cin>>v[i];
}
void inserisci(int v1[],int v2[],int n1,int n2)
{???
}
void output(int v1[],int v2[])
{cout<<"il vettore modificato e\':"<<?;
}
int main()
{
int v1[7],v2[4];
cout<<"inserisci i valori del 1 vettore in ordine crescente\n\n\n";
input(v1);
cout<<"inserisci i valori di v2\n\n\n";
input(v2);
system("PAUSE");
return 0;
}

Loading