Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: LauraD en 19 Junio 2014, 00:09 am



Título: Programa de vectores C++
Publicado por: LauraD en 19 Junio 2014, 00:09 am
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!

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;
}


Título: Re: Programa de vectores C++
Publicado por: JorgeEMX en 19 Junio 2014, 04:44 am
Has intentado hacer:

Código
  1. if(i == 0){
  2.   a[i] = a[i]+7;
  3. }


Título: Re: Programa de vectores C++
Publicado por: eferion en 20 Junio 2014, 08:27 am
Código:
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:
Código
  1. for (i=0;i<4;i++)
  2. {
  3.  cout<<"Digite un numero para la matriz A"<<endl;
  4.  cin>>a[i];
  5. }
  6.  

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