Multiplicar vector

Iniciado por Orb, 26 Enero 2016, 23:53 PM

0 Miembros y 1 Visitante están viendo este tema.

Orb

Buenas!
Tengo un ejercicio que indica que el usuario introduzca un vector, y , una vez introducido, introduzca otro numero, el cual multiplicara a todos los elementos del vector , y el resultado de esto compondrá otro vector.
Vamos que si tengo un vector de [2][2] e introduci el valor 2 por teclado quedaria [4][4]
Lo tengo hecho,y funciona, el problema es, que al mostrar el nuevo vector muestra siempre por pantalla uno no todos.
Es decir, si es un vector de [3][2][5] y el valor de multiplicacion es 2 muestra solo 10 10 10
Este es mi codigo

#include <stdio.h>
int main(void){
int n=0;
int m;
printf("\n¿Que valor será el que multiplique a las posiciones del vector?\n");
scanf("%d", &m);
printf("\n¿Cuantas posiciones tendrá el vector?\n");
scanf("%d", &n);
int a [n];
printf("\nSe ha creado un vector de %d\n", n);
int i;
for(i=0 ; i<n ; i++){
printf("\nIntroduzca valor para la posición %d\n", i+1);
scanf("%d", &a[i]);
}

int w;
w=n;
int b [w];
for(i=0 ; i<w ; i++){
b[w] = a[i]*m;
}
for(i=0 ; i<w ; i++){
printf("\n%d\n", b[w]);
}
}


MAFUS


Orb

Hola Mafus
Sé que el error está ahí pero no consigo sacarlo.
Probe a poner b entre otros, pero seguia dando datos mal

Saludos

MAFUS

No usas la variable que itera, sinó la que marca el final del bucle.

furciorifa

b[i]= a[i]*m;

printf("\n%d\n", b[i])