ayuda con vectores

celio

Bovino maduro
#1
Encontre este problema propuesto

"Ingresar n y m numeros enteros a 2 vectores tal com A y B , si el vector A tiene mas elemntos que B, pasar los numros impares de A al final de B, caso contrario pasar los numeros impares de B al final de A "

Asi lo analizo

Aparte de Capturar datos , primero cuento cuantos elemntos tiene cada vector por eso los contadores conta del vector a y contb del vector b

Luego pregunto cual tiene mas y saco los numeros impares meiante el modulo %

mi dificultad es que esta contando igual para ambos y no esta sacando los impares y pasandolos entre vectores.

Gracias....

Lo hice asi:

Código:
#include <stdio.h>
#include <stdlib.h>
void main()
{
    int n,m,i,a[50],b[50],conta=0,contb=0;
    printf("cantidad de datos");
    scanf("%d",&n);
    printf("cantidad de datos segundo vector");
    scanf("%d",&m);
    for(i=0;i<=n;i++){
         printf("ingrese datos");
         scanf("%d",&a[i]);
    }
    for(i=0;i<=m;i++){
         printf("ingrese datos del otro vector");
         scanf("%d",&b[i]);
    }
    for(i=0;i<=n;i++){
         conta ++;
    }
    for(i=0;i<=m;i++){
         contb ++;
    }
    printf("el vector a tiene %d elementos",conta);
    printf("el vector b tiene %d elementos",contb);

    if(conta > contb){
        for(i=0;i<=n;i++){
            if(a[i] % 2 == 1){
                a[i]=b[i];

            }
        }
    }

    else if(conta < contb ){
          for(i=0;i<=m;i++){
             if(b[i]% 2 == 1){
                 b[i]=a[i];
             }
          }
    }
    printf("el vector es %d",b[i]);
    printf("el vector es %d",a[i]);

}
 

trino_tec

Bovino adolescente
#3
mira, no he revisado a fondo, los detalles de tu codigo, pero a simplevista identifico algunos errores como:

1.- para que inicializas contadores, si desde un principio sabes cual es el tamaño de cada arreglo al pedir .

2do punto. haces algunos pasos demas, como por ejemplo, al contar el vector, recorres innecesariamente el vector, eso lo puedes hacer al momento de que el usuario introduce los datos, ejemplo:
for(i=0;i<n;i++){
printf("ingrese datos del vectior");
scanf("%d",&m);
cont++;
}

otra cosa en la que estas mal es que el valor se lo tienes que agregar al final del vector menor, y tu lo que haces es sustituri el valor del vector mayor en la posicion por el valor del vector menos en la posicion ,
por eso mejor aste una prueba de escritorio y veras todo los errores que te e mencionado, y posiblemente algunos mas

suerteee!!!!

sigue asi
 
Arriba