Programador Universitario Licenciatura en Informática Facultad de Ciencias Exactas y Tecnología - UNT Ejemplos de arreglos Arreglos1: programa que lee un vector de números enteros e intercambia los componentes sin modificar el arreglo original. #include <stdio.h> /* ..pro2001\ejem19.cpp 26/oct/01 */ #define MAX 50 #define ERROR printf("\n ERROR EN EL TAMA¥O DEL ARREGLO\n") void lee(int N, int vec[MAX]); void escribe(int n, int vector[MAX]); main() { int vector[MAX]; int n; printf("\nIngrese el orden del vector <= 50\n"); scanf("%d\n",&n); lee(n,vector); escribe(n,vector); return 0; } void lee(int N, int vec[MAX]) { short ind; if (N <= MAX) for (ind= 0; ind < N; ind++) scanf("%d",&vec[ind]); else ERROR; } void escribe(int n, int vector[MAX]) { short ind; for (ind= n-1; (ind >=0) && (ind <= n); ind--) printf("%4d",vector[ind]); } Arreglos2: programa que lee un vector de números enteros e intercambia los componentes modificando el arreglo original. Versión que no usa funciones definidas por el usuario. #include <stdio.h> #define MAX 50 main() { int vector[MAX]; int ind,n,tempo; printf("\nIngrese el orden del vector <= 50\n"); scanf("%d\n",&n); if (n <= MAX) { for (ind= 0; ind < n; ind++) scanf("%d",&vector[ind]); /* LEE EL VECTOR */ for (ind= 0; ind < n/2; ind++) /* ITERACION QUE MODIFICA */ { /* EL VECTOR ORIGINAL */ tempo = vector[ind]; vector[ind] = vector[(n-1)-ind]; vector[(n-1)-ind] = tempo; } printf("Arreglo original modificado\\n"); /* ESCRIBE EL AREGLO */ /* MODIFICADO */ for (ind = 0; ind < n; ind++) printf("%d ",vector[ind]); } return 0; } Agrm. María Eugenia Marquetti de Vallvé 1 de 1 Programador Universitario Licenciatura en Informática Facultad de Ciencias Exactas y Tecnología - UNT Arreglos3: programa que lee un vector de números e intercambia los componentes modificando el arreglo original . Esta versión usa funciones definidas por el usuario. #include <stdio.h> /* ..pro2001\ejem201.cpp 26/oct/01 */ #define MAX 50 #define ERROR printf("\n ERROR \n") void lee_arre(int N, int vec[MAX]); void inter_y_escribe(int N, int vec[MAX]); main() { int vector[MAX]; int n; printf("\nIngrese el orden del vector <= 50\n"); scanf("%d\n",&n); lee_arre(n,vector); inter_y_escribe(n, vector); return 0; } void lee_arre(int N, int vec[MAX]) { short ind; if (N <= MAX) for (ind= 0; ind < N; ind++) scanf("%d",&vec[ind]); else ERROR; } /* LEE EL VECTOR */ void inter_y_escribe(int N, int vec[MAX]) { int tempo, ind; for (ind= 0; ind < N/2; ind++) /* ITERACION QUE MODIFICA*/ { /* EL VECTOR ORIGINAL */ tempo = vec[ind]; vec[ind] = vec[(N-1)-ind]; vec[(N-1)-ind] = tempo; } /*ESCRIBE EL ARREGLO MODIFICADO*/ printf("\nArreglo original modificado\n"); for (ind = 0; ind < N; ind++) printf("%4d ",vec[ind]); } Agrm. María Eugenia Marquetti de Vallvé 2 de 2