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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Operacion Suma (Vectores) !Duda!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Operacion Suma (Vectores) !Duda!  (Leído 11,224 veces)
Fire544

Desconectado Desconectado

Mensajes: 85


"Escucha el sonido del 0, 1"


Ver Perfil WWW
Operacion Suma (Vectores) !Duda!
« en: 11 Julio 2012, 19:25 pm »

 :-\ Hola a todos internautas ! Tengo ya varios dias intentando sumar vectores, mi problematica esta en los valores absoluo que me tiene que devolver la variable suma  al operar con los dos vectores.

les dejare el codigo para que vean que es lo que quiero lograr.

Código
  1. int vector_1[5]={5, 978, 6, 4, 9}, vector_2{65, 9, 12, 66, 45}, suma=0;
  2.  
  3. for(int i=0; i<5; i++)
  4. {
  5. suma=suma + (vector_1[i]+vector_2[i]);
  6. }
  7.  
  8. printf("%i", suma);
  9.  

A simple vista solo con observar podemos darnos cuenta de que no hay error, el cogio hace la operacion de suma sobre los vectores, pero fijense lo que hace.

vector_1[1]=5 + vector_2[1]=65 esto seria igual a 70, y a si sucecivamente, no quiero esto lo que quiero es:


   5   978 6   4   9
+ 65 9    12 66 45
______________
665105294


que este ultimo seria el valo absoluto he tratado todas las formas y no logro nigun resultado de solucion, favor y aporten sus ideas, he intentado almacenar la suma en un vector al igual en una variable no vector, uff de todo !!


« Última modificación: 11 Julio 2012, 19:31 pm por Fire544 » En línea

"Si enseñas a pezcar a un niño lo ayudas para toda la vida, si pezcas para alimentarlo lo ayudas por un momento".
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #1 en: 11 Julio 2012, 19:35 pm »

podrias pasar los valores a una unica variable tipo int y luego sumarlos:

int1=9*10^0+4*10^1+6*10^2+978*10^3+5*10^4
int2=45*10^0+66*10^1+12*10^2+9^10^3+65*10^4

suma=int1+int2

un saludo!


En línea

Fire544

Desconectado Desconectado

Mensajes: 85


"Escucha el sonido del 0, 1"


Ver Perfil WWW
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #2 en: 11 Julio 2012, 19:53 pm »

Explicate mejor Xiruco, te comprendo pero esas elevaciones ^ por que las haces ?
En línea

"Si enseñas a pezcar a un niño lo ayudas para toda la vida, si pezcas para alimentarlo lo ayudas por un momento".
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #3 en: 11 Julio 2012, 20:01 pm »

imagina que tu tienes el numero en base decimal 123 escrito como un vector de la siguiente manera: vector=[1,2,3]

si quieres pasar del vector a un numero normal, lo que tienes que hacer es multiplicar cada termino del vector por 10 (ya que esta en base decimal) elevado a la posicion que ocupa ese termino en el vector.

en este caso: numero= 1*10^2 + 2*10^1 + 3*10^0 = 100+20+3 = 123

no se explicarme mejor, pero es el mismo sistema que se usa para pasar un numero en base binaria a uno decimal. en este caso, al ser base binaria, en vez de 10 se usa el 2 eleveado a la posicion que ocupe el digito. por ejemplo:

1010 en binario: 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 8+2 = 10 en decimal

edito: solo para decir que es que directamente el sistema numerico es asi. en un numero cualquiera, por ejemplo el 123, el 3 ocupa la posicion de las unidades (del 0 al 9), el 2 el de las decenas (del 0*10 al 9*10), y el 1 el de las centenas (del 0*10^2 al 9*10^2). asi que es esto, pero aplicado a un numero mayor como es tu caso. espero que me haya explicado, un saludo
« Última modificación: 11 Julio 2012, 20:07 pm por xiruko » En línea

Sputnik_

Desconectado Desconectado

Mensajes: 80



Ver Perfil
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #4 en: 11 Julio 2012, 20:08 pm »

Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4.    int vector_1[5]={5, 978, 6, 4, 9};
  5.    int vector_2[5]={65, 9, 12, 66, 45};
  6.    int suma=0;
  7.    int i;
  8.    for(i=0; i<5; i++)
  9.        {
  10.        suma=suma + (vector_1[i]+vector_2[i]);
  11.        }
  12.    printf("%i", suma);
  13. }
  14.  

Es eso  :huh:
En línea

Las personas lo suficientemente locas como para pensar que pueden cambiar el mundo son las que lo cambian.
Fire544

Desconectado Desconectado

Mensajes: 85


"Escucha el sonido del 0, 1"


Ver Perfil WWW
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #5 en: 11 Julio 2012, 20:14 pm »

El problema es pasar del vector[1,2,3] a una variable entera de 2 bytes a si

int numero=vector;

y que mi variable numero quede numero=123; esa es la problematica porque estoy trabajando con eventos y cuando pulso algun valor de mi teclado KP numerico entonces se mete el valor numerico en el vector y no es como hacer scanf("%i" &numero), sino que hace esto si evento==numero 1 o 2, etc entonces meter 1, 2, etc en vector.
En línea

"Si enseñas a pezcar a un niño lo ayudas para toda la vida, si pezcas para alimentarlo lo ayudas por un momento".
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #6 en: 11 Julio 2012, 20:15 pm »

has leido mi respuesta? porque yo creo que no.
En línea

Fire544

Desconectado Desconectado

Mensajes: 85


"Escucha el sonido del 0, 1"


Ver Perfil WWW
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #7 en: 11 Julio 2012, 20:23 pm »

Claro Xiruko Lei perfectamente tu resp. El problema es que no puedo hacer entradas con la funcion scanf(); sino mira lo que estoy haciendo
Código:
si evento==1
entonces
vector[i]=1
i++;
fin si

si evento==2
entonces
vector[i]=2
i++;
fin si
..
..
..
etc.

Hago esto porque trabajo con eventos o sea estoy desarrollando con SDL una GUI, todo perfecto entonces a la hora de hacer una sencilla calculadora no puedo porque me da valores incorrectos casi aproximados, estoy intentando sumar los vectores luego de recojer los valores.
En línea

"Si enseñas a pezcar a un niño lo ayudas para toda la vida, si pezcas para alimentarlo lo ayudas por un momento".
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #8 en: 11 Julio 2012, 20:30 pm »

quizas soy yo el que esta un poco espeso hoy pero es que si no es lo que te he dicho antes no acabo de entenderlo. podrias poner un ejemplo claro del problema?

con el codigo que has puesto, si un usuario pica los botones: 1, 5, 2, +, 1, 4

entonces tu tendrias esto en ese momento: vector1=[1,5,2], vector2=[1,4]

hasta aqui si? si no es asi, dime como es porque entonces no entiendo lo que pides.

si hasta aqui es asi, entonces tienes que aplicar lo que te he dicho antes:

numero1= 1*10^2 + 5*10^1 + 2*10^0 = 100 + 50 + 2 = 152
numero2= 1*10^1 + 4*10^0 = 10 + 4 = 14
suma=numero1+numero2

la funcion que te pase del vector al numero en decimal se implementa con un sencillo for usando las funciones exponencial tuya o de la biblioteca math y luego otra funcion que te diga el numero de posiciones que tiene un vector dado.
En línea

Fire544

Desconectado Desconectado

Mensajes: 85


"Escucha el sonido del 0, 1"


Ver Perfil WWW
Re: Operacion Suma (Vectores) !Duda!
« Respuesta #9 en: 11 Julio 2012, 20:45 pm »

El metodo es a si como dices me entiendes perfectamente, pero todavia la operacion que me pasas no resuelve la problematica, a ver si sumas un vector todo sale bien, pero si intentas simular la logistica de una calculadora se te rompe la caveza xDDD !! Pero estoy llegando casi casi, a ver intenta otra o implementa tu solucion !! Saludos Xiruko
En línea

"Si enseñas a pezcar a un niño lo ayudas para toda la vida, si pezcas para alimentarlo lo ayudas por un momento".
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda en búsqueda en vectores de punteros en C
Programación C/C++
megamole 4 3,307 Último mensaje 26 Julio 2010, 18:50 pm
por megamole
Suma de vectores recursivo
Programación C/C++
s3tH 4 8,056 Último mensaje 6 Mayo 2012, 20:18 pm
por s3tH
Duda con suma de vectores !Resuelto!
Programación C/C++
Fire544 0 1,730 Último mensaje 27 Julio 2012, 15:25 pm
por Fire544
duda de como usar el incremento en una operación
Programación C/C++
RaquelAG 4 2,950 Último mensaje 27 Enero 2013, 23:29 pm
por RaquelAG
SUMA DE VECTORES
Programación C/C++
JHONALEJOO 2 2,999 Último mensaje 20 Noviembre 2014, 17:18 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines