elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [Problema] Algoritmo simple.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Problema] Algoritmo simple.  (Leído 1,689 veces)
jvm1994

Desconectado Desconectado

Mensajes: 29



Ver Perfil
[Problema] Algoritmo simple.
« en: 5 Diciembre 2016, 04:07 am »

Hola compañeros de la comunidad, tengo una consulta, cual es el error en el siguiente algoritmo.

Código
  1. void main()
  2. {
  3.    int vector[10];
  4.    int x = 1;
  5.  
  6.    for(x=1; x<=10; x++)
  7.    {
  8.        vector[x] = 23;
  9.    }


Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 6 Diciembre 2016, 18:42 pm por jvm1994 » En línea

"La posibilidad de crear tu mundo."
Código
  1. int main()
  2. {
  3. eMundo * Own = world_new();
  4. if(Own != NULL)
  5. {
  6.    world_create(Own);
  7. }
  8.  
  9. return 0;
  10. }
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.415



Ver Perfil
Re: [Problema] Algoritmo simple.
« Respuesta #1 en: 5 Diciembre 2016, 04:36 am »

vector[10] contiene 10 elementos... empezando por 0 (siempre los array empiezan por 0)



viendolo como que vector en si mismo es un apuntador de memoria, el numero entre corchetes, es cuanto debe sumar para ir a la siguiente posición.... es decir...

imaginemos que a vector 10 tiene la posición de memoria "1000" entonces

Código:
vector[0] -> 1000 + 0
vector[1] -> 1000 + 1
vector[2] -> 1000 + 2
....
vector[n] -> 1000 + n


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
jvm1994

Desconectado Desconectado

Mensajes: 29



Ver Perfil
Re: [Problema] Algoritmo simple.
« Respuesta #2 en: 5 Diciembre 2016, 05:17 am »

Exacto, estuve analizando el algoritmo sin ejecutarlo y no logré identificar error.

Siendo que X vale 1 y la estructura repetitiva se ejecutará mientras que X < 11 o X <= 10.
La cuestión es que X nunca debería llegar a valer 11 por lo tanto no debería desbordar el vector.

1° Iteración:
X = 1;
Vector[1] = 23;
 _ _ _ _ _ _ _ _ _ _ _
|_|X|_|_|_|_|_|_|_|_|_|_|

2° Iteración:
X = 2;
Vector[2] = 23;
 _ _ _ _ _ _ _ _ _ _ _
|_|X|X|_|_|_|_|_|_|_|_|_|

3° Iteración:
X = 3;
Vector[3] = 23;
 _ _ _ _ _ _ _ _ _ _ _
|_|X|X|X|_|_|_|_|_|_|_|_|

4° Iteración:
X = 4;
Vector[4] = 23;
 _ _ _ _ _ _ _ _ _ _ _
|_|X|X|X|X|_|_|_|_|_|_|_|

5° Iteración:
X = 5;
Vector[5] = 23;
 _ _ _ _ _ _ _ _ _ _ _
|_|X|X|X|X|X|_|_|_|_|_|_|

6° Iteración:
X = 6;
Vector[6] = 23;
 _ _ _ _ _ _ _ _ _ _ _ __
|_|X|X|X|X|X|X|_|_|_|_|_|

7° Iteración:
X = 7;
Vector[7] = 23;
 _ _ _ _ _ _ _ _ _ _ _
|_|X|X|X|X|X|X|X|_|_|_|_|

8° Iteración:
X = 8;
Vector[8] = 23;
 _ _ _ _ _ _ _ _ _ _ _
|_|X|X|X|X|X|X|X|X|_|_|_|

9° Iteración:
X = 9;
Vector[9] = 23;
 _ _ _ _ _ _ _ _ _ _ _
|_|X|X|X|X|X|X|X|X|X|_|_|

10° Iteración:
X = 10;
Vector[10] = 23;
DEJA DE ITERAR.
 _ _ _ _ _ _ _ _ _ _ _
|_|X|X|X|X|X|X|X|X|X|X|_|



Pero por algún motivo en la consola cuando printeo el valor de X sale esto: (Por lo tanto me desborda el vector)

Cita de: CONSOLA
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[23]
En línea

"La posibilidad de crear tu mundo."
Código
  1. int main()
  2. {
  3. eMundo * Own = world_new();
  4. if(Own != NULL)
  5. {
  6.    world_create(Own);
  7. }
  8.  
  9. return 0;
  10. }
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.415



Ver Perfil
Re: [Problema] Algoritmo simple.
« Respuesta #3 en: 5 Diciembre 2016, 05:38 am »

tienes un error XD estás colocando casillas de más


Código:
inicializacion:
vector[10] = son 10 casillas

 _ _ _ _ _ _ _ _ _ _ 
|_|_|_|_|_|_|_|_|_|_|
 0 1 2 3 4 5 6 7 8 9

1° Iteración:
X = 1;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|_|_|_|_|_|_|_|_|
 0 1 2 3 4 5 6 7 8 9

2° Iteración:
X = 2;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|_|_|_|_|_|_|_|
 0 1 2 3 4 5 6 7 8 9

3° Iteración:
X = 3;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|X|_|_|_|_|_|_|
 0 1 2 3 4 5 6 7 8 9

4° Iteración:
X = 4;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|X|X|_|_|_|_|_|
 0 1 2 3 4 5 6 7 8 9

5° Iteración:
X = 5;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|X|X|X|_|_|_|_|
 0 1 2 3 4 5 6 7 8 9

6° Iteración:
X = 6;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|X|X|X|X|_|_|_|
 0 1 2 3 4 5 6 7 8 9

7° Iteración:
X = 7;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|X|X|X|X|X|_|_|
 0 1 2 3 4 5 6 7 8 9

8° Iteración:
X = 8;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|X|X|X|X|X|X|_|
 0 1 2 3 4 5 6 7 8 9

9° Iteración:
X = 9;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|X|X|X|X|X|X|X
 0 1 2 3 4 5 6 7 8 9

10° Iteración:
X = 10;
Vector[1] = 23;

 _ _ _ _ _ _ _ _ _ _ 
|_|X|X|X|X|X|X|X|X|X|X <- segmentation fault
 0 1 2 3 4 5 6 7 8 9


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
jvm1994

Desconectado Desconectado

Mensajes: 29



Ver Perfil
Re: [Problema] Algoritmo simple.
« Respuesta #4 en: 6 Diciembre 2016, 04:40 am »

Jaja gracias, era un error demasiado tonto.

Por suerte saqué 8 en el examen, logré encontrar el error hoy por la tarde.

Pasa que ayer a la madrugada estaba con el cerebro quemado.

Gracias.
En línea

"La posibilidad de crear tu mundo."
Código
  1. int main()
  2. {
  3. eMundo * Own = world_new();
  4. if(Own != NULL)
  5. {
  6.    world_create(Own);
  7. }
  8.  
  9. return 0;
  10. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con algoritmo de compresion
Programación Visual Basic
Daedalus 2 1,296 Último mensaje 14 Abril 2006, 01:31 am
por Cicklow
* [ Source ] Encoder and Decode [Algoritmo Simple] « 1 2 »
Programación Visual Basic
BlackZeroX (Astaroth) 15 7,755 Último mensaje 7 Diciembre 2009, 20:36 pm
por Dessa
Problema con un algoritmo
Programación General
9Sergio 4 4,230 Último mensaje 8 Julio 2011, 19:40 pm
por qgpjr
Problema con un Do While simple. « 1 2 »
Programación C/C++
Anastacio 11 2,725 Último mensaje 16 Febrero 2012, 05:05 am
por TheMaker
problema algoritmo java o dfd
Ejercicios
Kacoae 1 3,381 Último mensaje 19 Julio 2015, 03:12 am
por lvs
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines