funcionTest.c:27:6: error: tipos en conflicto para ‘intercambio’funcionTest.c:2:6: nota: la declaración previa de ‘intercambio’ estaba aquífuncionTest.c:36:6: error: tipos en conflicto para ‘imprimir’funcionTest.c:3:6: nota: la declaración previa de ‘imprimir’ estaba aquí
#include<stdio.h>void intercambio(int mitad, int vectorUno, int vectorDos);void imprimir(int mitad, int vectorUno, int vectorDos);int main(){int i,num,mitad;printf("ingrese el tamaño del vector : ");scanf("%d",&num);mitad=num/2;int vectorNumeros[num];int vectorUno[mitad];int vectorDos[mitad];for(i=0; i<num; i++){ vectorNumeros[i]=i+1;}for(i=0; i<mitad; i++){ vectorUno[i]=vectorNumeros[i]; vectorDos[i]=vectorNumeros[i+mitad] ;}intercambio(mitad, vectorUno[mitad], vectorDos[mitad]);imprimir( mitad, vectorUno[mitad], vectorDos[mitad]);printf("\n");}void intercambio(int mitad, int vectorUno[mitad], int vectorDos[mitad]){int i,auxUno,auxDos; for(i=0; i<mitad; i++){ auxUno=vectorUno[i]; auxDos=vectorDos[i]; vectorUno[i]=auxUno; vectorDos[i]=auxDos; }}void imprimir(int mitad, int vectorUno[mitad], int vectorDos[mitad]){int i; for(i=0; i<mitad; i++){ printf("[%d",vectorUno[i]); printf("] vs ["); printf("%d]",vectorDos[i]); printf("\n"); }}
void intercambio(int mitad, int vectorUno[mitad], int vectorDos[mitad]);
void imprimir(int mitad, int vectorUno[mitad], int vectorDos[mitad]);
funcionTest.c: En la función ‘main’:funcionTest.c:22:1: aviso: el paso del argumento 2 de ‘intercambio’ crea un puntero desde un entero sin una conversión [activado por defecto]funcionTest.c:2:6: nota: se esperaba ‘int *’ pero el argumento es de tipo ‘int’funcionTest.c:22:1: aviso: el paso del argumento 3 de ‘intercambio’ crea un puntero desde un entero sin una conversión [activado por defecto]funcionTest.c:2:6: nota: se esperaba ‘int *’ pero el argumento es de tipo ‘int’funcionTest.c:23:1: aviso: el paso del argumento 2 de ‘imprimir’ crea un puntero desde un entero sin una conversión [activado por defecto]funcionTest.c:3:6: nota: se esperaba ‘int *’ pero el argumento es de tipo ‘int’funcionTest.c:23:1: aviso: el paso del argumento 3 de ‘imprimir’ crea un puntero desde un entero sin una conversión [activado por defecto]funcionTest.c:3:6: nota: se esperaba ‘int *’ pero el argumento es de tipo ‘int’
#include<stdio.h>void intercambio(int mitad, int vectorUno[mitad], int vectorDos[mitad]);void imprimir(int mitad, int vectorUno[mitad], int vectorDos[mitad]);int main(){int i,num,mitad;printf("ingrese el tamaño del vector : ");scanf("%d",&num);mitad=num/2;int vectorNumeros[num];int *vectorUno[mitad];int *vectorDos[mitad];for(i=0; i<num; i++){ vectorNumeros[i]=i+1;}for(i=0; i<mitad; i++){ vectorUno[i]=&vectorNumeros[i]; vectorDos[i]=&vectorNumeros[i+mitad] ;}intercambio(mitad, vectorUno[mitad], vectorDos[mitad]);imprimir( mitad, vectorUno[mitad], vectorDos[mitad]);printf("\n");}void intercambio(int mitad, int vectorUno[mitad], int vectorDos[mitad]){int i,auxUno,auxDos; for(i=0; i<mitad; i++){ auxUno=vectorUno[i]; auxDos=vectorDos[i]; vectorUno[i]=auxUno; vectorDos[i]=auxDos; }}void imprimir(int mitad, int vectorUno[mitad], int vectorDos[mitad]){int i; for(i=0; i<mitad; i++){ printf("[%d",vectorUno[i]); printf("] vs ["); printf("%d]",vectorDos[i]); printf("\n"); }}
ingrese el tamaño del vector : 10Violación de segmento (`core' generado)
void intercambio(int mitad, int vectorUno[], int vectorDos[]){int i,auxUno,auxDos; for(i=0; i<mitad; i++){ auxUno=vectorUno[i]; auxDos=vectorDos[i]; vectorUno[i]=auxDos; vectorDos[i]=auxUno; }}
int vectorUno[mitad];
intercambio(mitad, vectorUno, vectorDos);