Foros del Web » Programación para mayores de 30 ;) » C/C++ »

arrays en c

Estas en el tema de arrays en c en el foro de C/C++ en Foros del Web. Hola,necesito ayuda con los arrays en c porque no entiendo lo de la matriz el u¡ indice... hay va un ejemplo haber si me lo ...
  #1 (permalink)  
Antiguo 23/04/2010, 07:59
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 9 meses
Puntos: 0
arrays en c

Hola,necesito ayuda con los arrays en c porque no entiendo lo de la matriz el u¡ indice... hay va un ejemplo haber si me lo pueden eplicar por favor:

#include <stdio.h>

int main()
{
int temp[24]; /* Con esto ya tenemos declaradas las 24 variables */
float media = 0;
int hora;

/* Ahora tenemos que dar el valor de cada una */
for( hora=0; hora<24; hora++ )
{
printf( "Temperatura de las %i: ", hora );
scanf( "%i", &temp[hora] );
media += temp[hora];
}
media = media / 24;

printf( "\nLa temperatura media es %f\n", media );
}






no entinedo porque pone el bucle for con hora estoy un poco confundido ¡ayuda!

y otra cosa ¿alguien sabe cual es este operador?: +=
  #2 (permalink)  
Antiguo 23/04/2010, 08:17
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: arrays en c

Los arreglos (arrays) se recorren desde 0 hasta la posición n-1, donde n es el tamño del arreglo.

Asi en el ejemplo de arriba si tienes un arreglo de 24 "variables", entonces puedes acceder a ellas desde la posición 0 hasta la 23.

El bucle for tiene 3 bloques,
Código:
for(esto se ejecuta al inicio del for; condición; esto se ejecuta al final de cada ciclo){
    instrucciones();
    ...
}
Operador += es un macro, ejemplo.
x += 1 es lo mismo que escribir x = x + 1

No entiendo muy bien cual es el problema? tal vez si plantearas mejor tu duda.
  #3 (permalink)  
Antiguo 23/04/2010, 08:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: arrays en c

si mira no entiendo lo que es el indice del array y lo que es la matriz
  #4 (permalink)  
Antiguo 23/04/2010, 08:28
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: arrays en c

ahora hize este programa pero al compilarlo me tira error en la parte de la declaración del array no se por que:

int main(int argc, char *argv[])
{
int año [13];
int años;

for(años=1996;años<2010;años++)
{

printf("introduzca su edad en el:%i\n",años);
scanf("%i",año[años]);
}

}
  #5 (permalink)  
Antiguo 23/04/2010, 08:30
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: arrays en c

Adivinaré, puesto que el error que te sale no lo transcribiste, que se trata de usar la ñ en el nombre de una variable.
  #6 (permalink)  
Antiguo 23/04/2010, 09:51
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: arrays en c

haaaaaaaaaaaaa! es verdad perdón.
  #7 (permalink)  
Antiguo 23/04/2010, 11:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: arrays en c

Ademas de la ñ, los indices son el problema.
  #8 (permalink)  
Antiguo 23/04/2010, 21:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: arrays en c

Cita:
Iniciado por disney
int main(int argc, char *argv[])
{
int año [13];
int años;

for(años=1996;años<2010;años++)
{

printf("introduzca su edad en el:%i\n",años);
scanf("%i",año[años]);
}

}
Tienes 13 posiciones, o sea puedes acceder desde 0 hasta 12.

Por que accedes desde 1996 hasta 2009?
  #9 (permalink)  
Antiguo 24/04/2010, 02:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: arrays en c

¿tengo que poner 2011?¿no?
  #10 (permalink)  
Antiguo 24/04/2010, 21:25
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: arrays en c

Cuando defines un array en C este se aloja en la memoria y tiene una longitud de N lugares. En tu caso de 13.
Entonces para acceder a cada uno de estos lugares se les pasa un indice empezando desde 0 no desde 1996. Y termina en N-1.

Asi que en tu for tenes que hacer recorrer a la variable desde 0 hasta 12:

Código C++:
Ver original
  1. int main(int argc, char *argv[])
  2. {
  3. int a&#241;o [13];
  4. int a&#241;os;
  5.  
  6. for(anos=0;anos<13;anos++)
  7. {
  8.  
  9. printf("introduzca su edad en el:%i\n",anos+1996);
  10. scanf("%i",&(ano[anos]));
  11. }
  12.  
  13. }


Otro error que tiene tu codigo es que en el scanf tenes que pasar las variables por referencia porque tenes uqe pasarla direccion en memoria y no el valor. Es por eso que tenes que agregar el operador "&" antes de la variable.

Etiquetas: arrays
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.