[ Foro de C ]
//Desarrolle un programa en C, que lea dos vectores A y B de 20 elementos cada uno y multiplique el primer elemento
//de A con el último elemento de B y luego el segundo elemento de A por el diecinueveavo elemento de B y así sucesivamente
// hasta llegar al veinteavo elemento de A por el primer elemento de B. El resultado de la multiplicación almacenarlo en un vector C.
//Se imprimirá los dos vectores de entrada y el vector C.
#include<stdio.h>
int main ()
{
int vector1 [20];
int vector2 [20];
int vectormult [20];
int i,j = 0;
for (i=0;i<=20;i++)
{
printf("Ingresa el numero en el vector1: ");
scanf("%d",&vector1[i]);
}
for (i=0;i<=20;i++)
{
printf("Ingresa el numero: ");
scanf("%d",&vector2[j]);
}
j = 20;
for (j=0;j<=20;j++)
{
vectormult = vector1[i]*vector2[j] ;
printf("la multiplicación es: %d", vectormult);
j = j - 1;
}
return 0 ;
}
hola keyla
debes tener en cuenta que cuando empiezas por 0 y llegas < 20 hacen 20 elementos, pero si llegas a <=20 son 21 elementos cuando solo has reservado 20, por lo que te sales de la memoria reservada
luego te lias un poco al llevar un segundo contador (inverso)
y te falta poner los corchetes a vectormult para que te funcione
por lo demás esta bien
he retocado un poco tu código para que funcione:
https://www.online-ide.com/ZrKNu7qG3i
saludos ;-)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)