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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con un vector
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con un vector  (Leído 2,738 veces)
NekoOs

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Problema con un vector
« en: 20 Julio 2012, 06:28 am »

Este es mi archivo principal. En el por medio de un for le asigno un valor a cade elemento de un vector
Código
  1. int main () {
  2. suma s;
  3. int elemento;
  4. for (int i=0; i<=9; i++) {
  5. cout << "Digite el elemento [" << i << "]: ";
  6. cin >> elemento;
  7. s.setvector(i, elemento);
  8. }
  9. s.sumavector();
  10. return 0;
  11. }
  12.  

Esta es la implementacion de mi función. En este sumo todos los elementos todo funciona bien hasta que llega a el vector[9]:
Código
  1. void suma::sumavector ( ) {
  2. for (int n=0; n<=9; n++) {
  3. sumatoria+=vector[n];
  4. }
  5. cout << sumatoria;
  6. }

Un vistazo a como me ejecuta:


Nota: Estoy completamente seguro que el problema inicia en vector[9] pero no se porque.


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Problema con un vector
« Respuesta #1 en: 20 Julio 2012, 06:59 am »

pon todo el codigo, creo que todos detestamos intentar adivinar


En línea

NekoOs

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Problema con un vector
« Respuesta #2 en: 20 Julio 2012, 13:40 pm »

pon todo el codigo, creo que todos detestamos intentar adivinar

Realmente no creo que sea necesario, eso es lo bueno de POO que no se necesita conocer todo el código para saber como funciona si te das cuenta todo funciona de 10. La pregunta es que estoy haciendo mal en la función sumavector():
Código
  1. void suma::sumavector ( ) {
  2. for (int n=0; n<=9; n++) {
  3. sumatoria+=vector[n];
  4. }
  5. cout << sumatoria;
  6. }
es aquí el problema porque lo que hace es esto: "imaginemos que para cada elemento del vector digitamos el numero 1 la suma debe ser igual a 10". Sin embargo arroja 18  :-[
adiciono una linea para que me muestre cada vuelta del ciclo:
Código
  1. void suma::sumavector ( ) {
  2. sumatoria=0;
  3. for (int n=0; n<=9; n++) {
  4. sumatoria+=vector[n];
  5. cout << "cuando n es: " << n << " el vector es: " << vector[n] << " y la sumatoria va por: " << sumatoria << endl;
  6. }
  7. cout << sumatoria;
  8. }



Ahora fíjense que cuando n=9 el vector=18 :[ osea vector[9]=18 pero no entiendo si esta claro que le he asignado 1.

Tengo una teoría quizás sea problema de dimensión en el vector no se si aquí aplique pero en el caso de los arreglos char el atributo debe contener un espacio extra donde se le asigna el valor final_de_linea, el problema es que el profesor nos indico realice un vector de dimensión 10 y sume sus elementos y planteo que la forma de declarar un vector es vector[n-1] donde n es la dimensión que deseo.
Una vez cambie la declaración vector[9] por vector[10] todo funciona ok. es mas creo que mi confusión era que el profesor me planteo que para definir un vector de dimensión 10 debía especificar vector[9] creo que esto es un error, aunque 9 si es la décima posición del vector la declaración del vector debe ser vector[10] ya que debe reservar la ultima posición a Final_de_linea O.o...
Si mi teoria es cierta simplemente declarare vector[10] y esto estaría solucionado, sin emabrgo lo dejare abierto esperando una respuesta mas profunda para fundamentar frente al profesor  :silbar:
« Última modificación: 20 Julio 2012, 13:46 pm por Nefkofan » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Problema con un vector
« Respuesta #3 en: 20 Julio 2012, 15:35 pm »

Realmente no creo que sea necesario, eso es lo bueno de POO que no se necesita conocer todo el código para saber como funciona
No. El problema esta en otra parte y lo mencionas mas adelante.


creo que mi confusión era que el profesor me planteo que para definir un vector de dimensión 10 debía especificar vector[9] creo que esto es un error, aunque 9 si es la décima posición del vector la declaración del vector debe ser vector[10] ya que debe reservar la ultima posición a Final_de_linea O.o...
Solo la ultima parte esta errada: "debe reservar la ultima posición a Final_de_linea", eso solo aplica a las cadenas "a la C" con cualquier otro tipo de array no tienes que reservar un elemento extra.

Cuando declaras un array:
Código
  1. int a[10];
Indicas el numero de elementos "N" y accedes a estos mediante los indices 0 .. N-1, en este caso son 0 .. 9. Solo dile a tu profesor que revise cualquier libro sobre C++.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Problema con un vector
« Respuesta #4 en: 22 Julio 2012, 00:13 am »

¡Buenas!

¿Has probado a inicalizar la variable sumatoria a cero antes de entrar en el for?

¡Saludos!
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema para contar elementos de un vector
Java
_SainT_ 4 7,405 Último mensaje 24 Agosto 2011, 20:02 pm
por _SainT_
Problema con threads y vector de labels
.NET (C#, VB.NET, ASP)
XxyoyxX 2 3,497 Último mensaje 3 Diciembre 2011, 21:04 pm
por XxyoyxX
Problema con librería vector.
Programación C/C++
bemone 3 2,893 Último mensaje 19 Mayo 2012, 20:09 pm
por RyogiShiki
[C] [?] Problema con vector de caracteres
Programación C/C++
alt_369 2 2,192 Último mensaje 13 Enero 2013, 23:30 pm
por alt_369
Problema con std::vector y static
Programación C/C++
anonimo12121 0 1,572 Último mensaje 10 Junio 2013, 23:59 pm
por anonimo12121
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines