Programa de vectores C++

Iniciado por LauraD, 19 Junio 2014, 00:09 AM

0 Miembros y 1 Visitante están viendo este tema.

LauraD

Hola!!

Tengo que elaborar el siguiente algoritmo:
Tiene 3 Vectores de 4 elementos numéricos (tipo float) cada uno, realice la suma del Vector A, B y C y guarde el resultado en un Vector D. Sobre el Vector resultante D sume en la posición 3 del Vector el valor numérico 10. En la primera posición del vector A sume el valor numérico 7, realice la misma operación para el vector B. Determine cuál es el mayor elemento en la posición 0 entre los vectores A y B. Debe implementarse el uso de una función.

Logre hacer la mayoria pero la suma de las primeras casillas no me da :c

Les agradeceria mucho si pudieran ayudarme!  :laugh:

Este es el código!

#include<iostream>
#include<cstdlib>

using namespace std;

void vectores( )
{
int i;
float a[4];
float b[4];
float c[4];
float d[4];



for (i=0;i<4;i++)
{
cout<<"Digite un numero para la matriz A"<<endl;
cin>>a[i];
a[0]+7;
}

for (i=0;i<4;i++)
{
cout<<"Digite un numero para la matriz B"<<endl;
cin>>b[i];
        b[0]+7;
    }

for (i=0;i<4;i++)
{
cout<<"Digite un numero para la matriz C"<<endl;
cin>>c[i];
}
for (i=0;i<4;i++)
{
d[i]=a[i]+b[i]+c[i];
    }
   
    if (a[0]>b[0])
    {
      cout<<"La casilla numero uno del vector A es mayor"<<endl;
    }
   
    else
    {
       cout<<"La casilla numero uno del vector B es mayor"<<endl;
    }
   
cout<<endl<<d[0]<<endl;
cout<<endl<<d[1]<<endl;
cout<<endl<<d[2]+10<<endl;
cout<<endl<<d[3]<<endl;
}

int main ()
{
vectores();
system("PAUSE");
return EXIT_SUCCESS;
}

JorgeEMX

Has intentado hacer:

Código (cpp) [Seleccionar]

if(i == 0){
   a[i] = a[i]+7;
}

eferion

Cita de: LauraD en 19 Junio 2014, 00:09 AM
for (i=0;i<4;i++)
{
cout<<"Digite un numero para la matriz A"<<endl;
cin>>a[i];
a[0]+7;
}


Ahí, básicamente, estás repitiendo el siguiente proceso 4 veces:


  • Pides un número que almacenas en el vector
  • Coges el valor de la posición 0, le sumas 7 y.... tiras el resultado a la basura porque no lo almacenas.

Tendrías que hacer más bien lo siguiente:

1. Pedir los datos:
for (i=0;i<4;i++)
{
  cout<<"Digite un numero para la matriz A"<<endl;
  cin>>a[i];
}


2. Calcular las cosas que te piden... pero eso ya después, cuando tengas que presentar dicho resultado, no dentro del bucle:
a[ 0 ] += 7; // ALMACENAMOS el valor en a[0]
b[ 0 ] += 7;
if ( a[ 0 ] > b[ 0 ] )
{
  // ...