• Jueves 14 de Noviembre de 2024, 04:33

Autor Tema:  Uso de los vectores  (Leído 1390 veces)

ermiguel1979

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Uso de los vectores
« en: Jueves 17 de Diciembre de 2009, 13:31 »
0
Hola a todos, tengo un problemilla (para variar) con otro de mis amadísimos ejercicios de programación. La criatura en cuestión dice así:

"Realizar un algoritmo que pida un conjunto de números, los almacene en un vector y calcule el mayor, el menor y la media de dichos números".

Lo que llevo hecho hasta ahora, ni me pide los números a introducir, ni hace las operaciones que debería. Os pongo el código por si le pillasis el/los errores.

Gracias chicos...


#include <stdio.h>
#include <stdlib.h>

int main (void){
   //VARIABLES
   int vector[100];         //array donde se almacenan los numeros
   int mayor, menor;         //el mayor y el menor de todos
   float media=0;            //la media de los numeros
   
   int i;                  //contador
   int n;                  //cantidad de numeros a introducir
   int suma;               //suma de los numeros dados, de cara a la media
   /*Leer Variables*/
   printf("Indique numero de datos a introducir: ");
   scanf("%i", &n);
   
   //OPERACIONES
   for(i=0; i>=n; i++){
      printf("Introduzca numero: ");
      scanf("%i", &vector);
   }
   /*Inicializar variables relativas al vector*/
   mayor=vector[0];
   menor=vector[0];
   suma=vector[0];
   /*Recorrer el vector comparando y sumando numeros*/
   for(i=1; i>=n; i++){
      if(vector>mayor)  mayor=vector;
      if(vector<menor)  menor=vector;
      suma=suma+vector;
   }
   media=suma/n;
   //RESULTADOS
   printf("El mayor es: %in", mayor);
   printf("El menor es: %in", menor);
   printf("La media es: %fn", media);
}




Un saludo y felices fiestas...

lostshell

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Uso de los vectores
« Respuesta #1 en: Jueves 17 de Diciembre de 2009, 19:05 »
0
el problema esta en los dos ciclos
Código: Text
  1.  
  2. for(i=0; i>=n; i++)
  3. y
  4. for(i=1; i>=n; i++)
  5.  
  6.  
i nunca va a ser mayor o igual a n (a menos que pongas 0), por eso el ciclo nunca se realiza
>= mayor o igual
<= menor o igual
> mayor
< menor

por cierto trata de usar las etiquetas de codigo la proxima vez

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Uso de los vectores
« Respuesta #2 en: Jueves 17 de Diciembre de 2009, 19:38 »
0
Es correcto lo que te dice el compañero, la condicion del ciclo esta mal, deberia ser <, no >, ademas decir que los vectores en C/C++ siempre comienzan en cero, por lo tanto un vector de 10 elementos va del 0 al 9, por lo tanto la condicion debe ser <, no <=, si pones <= y son diez elementos, tratara de leer el elemento en la posicion 11, dado que el elemento 11 su indice es 10.

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

ermiguel1979

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Re: Uso de los vectores
« Respuesta #3 en: Viernes 18 de Diciembre de 2009, 17:56 »
0
Juer nenes, vosotros si que sabeis. Que pardo me quedo leyendo las explicaciones. La verdad es que no le cojo el rítmo ni con un tambor; menos más que estais vosotros.

Pues ya os digo, por una tontería te tiras toda la tarde rabiando porque no te funciona el programita.

Chapó por vosotros; gracias, gracias, gracias.

Un saludo!

Miguel.