Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/11/2015, 11:15
Juank2098
 
Fecha de Ingreso: octubre-2015
Mensajes: 2
Antigüedad: 9 años, 2 meses
Puntos: 0
Ejercicio con vectores; ejercicio matrices URG!!!

Realice un algoritmo en C++ que calcule el producto de un escalar (valor constante) ingresado por el usuario con un vector de números reales leído desde un archivo de texto plano y su resultado (vector resultante) debe ser mostrado en consola.

Para este ya hice un codigo, pero tiene el problema de que al ejecutarlo me devuelve en consola, los una secuencia de los primeros numeros completando con ceros, y asì hasta llegar al ultimo número y con la respuesta

#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

double* crear_vector_double(int n){
return new double [n];
};

double leer_double(istream& is){
double a;
is >> a;
return a;
};

double* leervector_flujo(istream& is, double* x, int n){
for(int i = 0; i < n; i++){
x[i] = leer_double(is);
}
return x;
};

ostream& escribir_double(ostream& os, double a){
os << a;
os << '\n';
return os;
};

ostream& escribir_char(ostream& os, char a){
os << a;
os << '\n';
return os;
};

ostream& escribirvector_flujo(ostream& os, double* x, int n){
for(int i = 0; i < n; i++){
escribir_double(os, x[i]);
escribir_char(os, '\t');
}
return os;
};


int main()
{
int tamvec = 5;

ifstream ifs("vector.txt");

double* numeros = crear_vector_double(tamvec);

numeros = leervector_flujo(ifs, numeros, tamvec);

cout << "ingrese un numero para empezar a multiplicar" << endl;
double* mul = crear_vector_double(1);
mul = leervector_flujo(cin, mul, 1);

double operacion;

double* resultado = crear_vector_double(tamvec);

for(int i = 0; i < tamvec; i++){

operacion = mul[0] * numeros[i];
resultado[i]=operacion;
escribirvector_flujo(cout, resultado, i);

}

ifs.close();

return 0;
}


Desarrollar un algoritmo en C++ que dado un número entero y una matriz en un archivo de texto plano, cree una nueva matriz donde se reemplacen todos los números mayores al número dado por un uno (1) y todos los menores o iguales por un cero (0).