Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/11/2015, 12:56
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 2 meses
Puntos: 204
Respuesta: Ejercicio con vectores; ejercicio matrices URG!!!

Código C++:
Ver original
  1. double* leervector_flujo(istream& is, double* x, int n){
  2. for(int i = 0; i < n; i++){
  3. x[i] = leer_double(is);
  4. }
  5. return x;
  6. };

double* x es un puntero, luego cualquier cambio que hagas sobre la memoria apuntada por x se verá reflejado fuera de la función... la instrucción return x; únicamente tiene sentido si piensas concatenar operaciones... por ejemplo:

Código C++:
Ver original
  1. escribirvector_flujo(cout,leecvector_flujo(cin,x,10),10);

Pero claro, este tipo de estructuras no tienen demasiado sentido tratándose de variables que no sean clases o estructuras con métodos propios... el return te lo puedes ahorrar. Esto mismo es aplicable a la escribirvector_flujo, escribir_doble y escribir_char. No tiene demasiado sentido que retornen algo.

Por otro lado no has de olvidar que siempre que escribas un new tienes que escribir el correspondiente delete. De lo contrario tu programa presentará fugas de memoria y eso, amigo mio, es un cáncer que se puede llegar a tragar toda la memoria de tu equipo con el tiempo.

Código C++:
Ver original
  1. for(int i = 0; i < tamvec; i++){
  2.  
  3. operacion = mul[0] * numeros[i];
  4. resultado[i]=operacion;
  5. escribirvector_flujo(cout, resultado, i);
  6.  
  7. }

Ahí estás escribiendo tamvec veces el vector resultado. El problema, aparte de imprimirlo más veces de las necesarias, es que estás sacando resultados intermedios... la llamada a la función imprimir debería estar fuera del bucle.

Un saludo
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.