[ Foro de C ]

Alguien me puede orientar en mi código?, es en C

01-Oct-2022 21:26
Keyla vega
1 Respuestas

//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 ;
}


02-Oct-2022 17:33
Invitado (daniel)

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.)