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

 

 


Tema destacado: Introducción a Git (Primera Parte)


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

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Duda al hacer un programa.
« en: 5 Abril 2013, 11:56 am »

Hola a todos, soy nuevo aqui, y necesito ayuda con una cosa de C. El caso es que el ejercicio consiste en hacer un programa de suma y resta de vectores tridimensionales, y ya casi lo tengo (o eso creo), pero el caso es que cuando ejecuto y meto los valores y hace la suma me da un número de la hostia, y además creo que me debería dar 3 números, cada uno por cada componente del vector.

Pego código:

#include <stdio.h>
#include <math.h>

void suma(int vect1[3], int vect2[3], int vect3[3]);
//int resta(int h, int i, int j, int k, int l, int m);


int main(){
   int a,i;
   int vect1[3], vect2[3], vect3[3];
   printf("Indtroduzca la operación a realizar:\n");
   printf("1) Suma de vectores\n");
   printf("2) Resta de vectores\n");
   scanf("%d",&a);
   
   if (a=1){
      for(i=0;i<3;i++){
      printf("Introduzca 3 valores para el vector 1:\n");
      scanf("%d", &vect1);
      printf("Introduzca 3 valores para el vector 2:\n");
      scanf("%d", &vect2);
      }
      void suma(vect1, vect2, vect3);   
      printf("El resultado de la suma es: %d\n", vect3);
      }
}



void suma(int vect1[3], int vect2[3], int vect3[3]){   
   vect3[0]=vect1[0]+vect2[0];
   vect3[1]=vect1[1]+vect2[1];
   vect3[2]=vect1[2]+vect2[2];
}




¿Qué hago mal?

Gracias a todos.


En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Duda al hacer un programa.
« Respuesta #1 en: 5 Abril 2013, 14:42 pm »

Código:
printf("El resultado de la suma es: %d\n", vect3);

lo que pasa con esto:

Código:
int vect3[3];

es que el nombre 'vect3' significa una dirección en la memoria donde empieza el vector.
para acceder a los 3 elementos de tu vector, lo hacés así:

Citar
vect3[0]
vect3[1]
vect3[2]
Código:
printf("%d %d %d\n", vect3[0],vect3[1],vect3[2]);

de esa forma se accede a los valores en cada posición del vector.






En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Duda al hacer un programa.
« Respuesta #2 en: 5 Abril 2013, 15:55 pm »

Ademas de la corrección que ya te indico 85 otras dos que debes hacer en tu programa son:

1) Utilizas el operador de asignación "=" cuando debes utilizar el de comparación "==":
Código
  1. if (a = 1){ // Debe ser a == 1

2) Cuando llamas a una función no debes indicar su tipo de retorno, esta sentencia:
Código
  1. void suma(vect1, vect2, vect3);
Hay que cambiarla a:
Código
  1. suma(vect1, vect2, vect3);

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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Con que programa podria hacer eso
Diseño Gráfico
Dark Shadow 5 3,336 Último mensaje 15 Septiembre 2005, 00:25 am
por MinusFour
hacer un programa bluetooth « 1 2 ... 5 6 »
Hacking Mobile
caballeroantonio 56 56,827 Último mensaje 3 Septiembre 2010, 08:19 am
por SirGraham
hacer programa Programa para almacenar fotos « 1 2 »
Programación Visual Basic
ThonyMaster 11 9,063 Último mensaje 2 Diciembre 2008, 20:58 pm
por ssccaann43 ©
[Duda] Como puedo hacer para saber en que S.O esta Corriendo el Programa?
Programación Visual Basic
agus0 6 3,506 Último mensaje 20 Julio 2009, 10:06 am
por BlackZeroX
Duda sobre si se puede hacer un determinado programa
Software
r.minitti 4 2,600 Último mensaje 19 Mayo 2011, 12:09 pm
por palomitero
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines