Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Meylar en 4 Octubre 2011, 05:05 am



Título: problema con arrays y funciones
Publicado por: Meylar en 4 Octubre 2011, 05:05 am
Hola, ya trate mucho de entender porque no me copila este programa, y no logro dar con la respuesta >:(, eh visto muchos ejemplos, y aun así no entiendo cual es el problema; agradezco de antemano a quien me ayude. Codifico con DevC++:

#include <stdio.h>
#include <conio.h>
#define n 1000

float leer(int dime);
void calcular(float vec1[], float vec2[], int dime);

int main()
{
      float uno, dos, vec2[n];
      float vec1[n];
      int dime;

      puts("Digite la dimension de los vectores:");
      scanf("%i", &dime);
      while(dime<0)
      {
                   puts("eRROR VUELVA INTENTARLO");
                   scanf("%i", &dime);
       }
      
      puts("Digite el primer vector");
      uno=leer(dime);
      puts("Digite el segundo vector");
      dos=leer(dime);
      calcular(uno, dos, dime);
      
      getch ();
      return 0;
 }
 
 float leer(int dime)
 {
       int i;
       float vector[n];
       puts("Digete las correspondientes posiciones, dando Intro despues de cada elemento");
       for(i=0; i=dime; i++)
       {
               scanf("%f", &vector);
        }
       return(vector[n]);                    
  }
  
void calcular(float vec1[], float vec2[], int dime)
{
     int u, i;
     u=0;
     for(i=0;i=dime; i++)
     {
             if(vec1==vec2)
                  u++;
      }
     if(u==dime)
        printf("Los siguientes vectores son iguales:");
      
     else
           printf("Los vectores NO SON IGUALES");
          
     for(i=0;i=dime; i++)
                  {
                     printf("\n\n %f",vec1);
                    }
      for(i=0; i=dime; i++)
        {
                     printf("\n\n %f",vec2);
      }
     getch();
}


Título: Re: problema con arrays y funciones
Publicado por: LearningSpanishProgrammer en 4 Octubre 2011, 05:21 am
Debe usar la tag "code" cuando vaya a escribir código..

No voy hablar la solucione, pero voy apuntar algunos erros.

Código:
void calcular(float vec1[], float vec2[], int dime)
{
     int i;
     int u=0;  /////////////////////!!! Mejor, no?
     for(i=0;i=dime; i++) /////////////////////!!! Debe usar == o <
     {
             if(vec1==vec2)
                  u++;
      }
     if(u==dime)
        printf("Los siguientes vectores son iguales:");      
     else
           printf("Los vectores NO SON IGUALES");
          
      
     for(i=0;i=dime; i++)  /////////////////////!!! No '='
     {
                     printf("\n\n %f",vec1);
      }
     for(i=0; i=dime; i++)  /////////////////////!!! No '='
     {
                     printf("\n\n %f",vec2);
      }
     getch();
}


Estoy un poco cansado, tal vez mañana puedo ver esto con mas calma.


Título: Re: problema con arrays y funciones
Publicado por: Meylar en 4 Octubre 2011, 05:28 am
OK, ya modifique el programa tomando en cuenta las observaciones que el compañero me sugirió. Me dice este error:

 cannot convert `float' to `float*' for argument `1' to `void calcular(float*, float*, int)'  :-( 


Título: Re: problema con arrays y funciones
Publicado por: LearningSpanishProgrammer en 4 Octubre 2011, 15:18 pm
Tiene un error en esta declaración
Código:
 float uno, dos, vec2[n];

Tu estas declarando dos floats llhamados 'uno' y 'dos', tambien declara uno arreglo llhamado vec2 com tamaño 'n'.