Sunteți pe pagina 1din 11

>> VECTORES <<

/*Dado el vector T de tamao n. Si el tamao es par invertir los elementos de la mitad de los elementos Ejemplo: v=[1][2][3][4][5][6] v(invertido)=[3][2][1][6][5][4] */ Cdigo: #include<stdio.h> #include<conio.h> void llenar (int V [], int d) { for (int i = 1 ; i <= d ; i++) { printf ("Inserte pos.[%d]: ",i); scanf("%d",&V[i]); } } void mostrar (int V [], int d) { for (int i = 1 ; i <= d ; i++) { printf ("[%d]",V[i]); } } void invierte (int V [], int d) { int aux1; int fin1 = d / 2; for (int i = 1 ; i <= (d / 2) / 2 ; i++) { aux1 = V [i]; V [i] = V [fin1]; V [fin1] = aux1; fin1--; } fin1 = d; for (int j = (d / 2) + 1 ; j <= (d / 2) + 1 ; j++) { aux1 = V [j]; V [j] = V [fin1]; V [fin1] = aux1; fin1--; } } int main () { int V[20]; int d; printf ("Inserte dimen. del vector: "); scanf("%d",&d); llenar (V, d); printf ("\nVECTOR ORIGINAL: \n"); mostrar (V, d); printf ("\n\nVECTOR LUEGO DE LA INVERSION: \n"); invierte (V, d); mostrar (V, d); getch(); } /*Dado un polinomio evaluarlo en el punto x (todo en un vector)*/ Cdigo: #include <stdio.h> #include <conio.h> void llenar (int V[20], int d)

for (int i = 1 ; i <= d ; i++) { printf ("Inserte pos.[%d]: ",i); scanf("%d",&V[i]); }

} void mostrar (int V[20], int d) { for (int i = 1 ; i <= d ; i++) { printf ("[%d]",V[i]); } } int potencia (int b, int e) { int p = 1; for (int i = 1 ; i <= e ; i++) { p = p * b; } return (p); } void evalua (int V [], int d, int x) { int s = 0; for (int i = 1 ; i <= d ; i += 2) { s = s + (V [i] * potencia (x, V [i + 1])); } printf("\n\nX es igual a: %d",s); } int main () { int V[20]; int d, x; printf("Inserte dimen. del vector: "); scanf("%d",&d); printf ("Inserte valor de (x): "); scanf("%d",&x); llenar (V, d); printf("\nVECTOR: "); mostrar (V, d); evalua (V, d, x); getch(); }

>> MATRICES <<


Generar la matriz: [01][02][03][04] [08][07][06][05] [09][10][11][12] Cdigo: #include<stdio.h> #include<conio.h> void llenar (int M[20][20], int f, int c) { int k=1; for (int i=1;i<=f;i++) { if (i%2!=0)

} }

} else { for (int j=c;j>=1;j--) { M[i][j]=k; k++; } }

for (int j=1;j<=c;j++) { M[i][j]=k; k++; }

void mostrar (int M[20][20], int f, int c) { for (int i=1;i<=f;i++) { printf("\n"); for (int j=1;j<=c;j++) { printf("[%d] ",M[i][j]); } } } int main () { int f, c; int M[20][20]; printf("Inserte filas de M: "); scanf("%d",&f); printf("Inserte cols. de M: "); scanf("%d",&c); llenar(M, f, c); mostrar(M, f, c); getch(); } Generar la matriz: [01][02][03][04] [05][06][07][00] [08][09][00][00] [10][00][00][00] Cdigo: #include <stdio.h> #include <conio.h> void llenar (int M[20][20], int d) { int cont=1; for (int i=1;i<=d;i++) { for (int j=1;j<=d;j++) { if ((i+j)<=(d+1)) {M[i][j]=cont; cont++;} else M[i][j]=0; } } } void mostrar (int M[20][20], int d) { for (int i=1;i<=d;i++) { printf("\n"); for (int j=1;j<=d;j++) {

} } }

printf ("[%d] ",M[i][j]);

int main () { int d; int M[20][20]; printf("Insert dimen: "); scanf("%d",&d); llenar(M, d); mostrar(M, d); getch(); } Dadas dos matrices A y B intercambiar los mnimos de A con los mximos de B Cdigo: #include <stdio.h> #include <conio.h> void llenar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { printf ("Inserte pos[%d][%d]: ",i,j); scanf("%d",&M[i][j]); } } } void mostrar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { printf("\n"); for (int j = 1 ; j <= c ; j++) { printf ("[%d]",M[i][j]); } } } int menor (int M[20][20], int f, int c) { int men = M [1] [1]; for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { if (M [i] [j] < men) men = M [i] [j]; } } return (men); } int maximo (int M[20][20], int f, int c) { int max = M [1] [1]; for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { if (M [i] [j] > max) max = M [i] [j]; } } return (max);

} void intercambiar (int A[20][20], int fa, int ca, int B[20][20], int fb, int cb) { int min_a = menor (A, fa, ca); int max_b = maximo (B, fb, cb); //para cambiar los minimos de A con los maximos de B for (int i = 1 ; i <= fa ; i++) { for (int j = 1 ; j <= ca ; j++) { if (A[i][j] == min_a) A[i][j]=max_b; } } //para intercambiar los maximos de con los minimos de A for (int i = 1 ; i <= fb ; i++) { for (int j = 1 ; j <= cb ; j++) { if (B[i][j] == max_b) B[i][j]=min_a; } } } int main () { int A [20] [20]; int B [20] [20]; int fa, ca, fb, cb; printf ("Insert filas de printf ("Insert columnas printf ("Insert filas de printf ("Insert columnas

A: de B: de

"); scanf("%d",&fa); A: "); scanf("%d",&ca); "); scanf("%d",&fb); B: "); scanf("%d",&cb);

//lectura de matrices printf ("\nINSERTANDO DATOS EN MATRIS A: \n"); llenar (A, fa, ca); printf ("\nINSERTANDO DATOS EN MATRIS B: \n"); llenar (B, fb, cb); printf ("\nMATRICES ORIGINALMENTE INSERTADAS: "); mostrar (A, fa, ca); printf ("\n"); mostrar (B, fb, cb); printf ("\n"); //intercambiando elementos intercambiar (A, fa, ca, B, fb, cb); printf ("\nMATRICES DESPUES DEL INTERCAMBIO:"); mostrar (A, fa, ca); printf ("\n"); mostrar (B, fb, cb); getch(); } /*Dada una matriz cuadrada invertir su diagonal principal*/ Cdigo: #include <stdio.h> #include <conio.h> void llenar (int M[20][20], int d) { for (int i = 1 ; i <= d ; i++) { for (int j = 1 ; j <= d ; j++) { printf ("Inserte pos[%d][%d]: ",i, j); scanf("%d",&M [i] [j]); }

void mostrar (int M[20][20], int d) { for (int i = 1 ; i <= d ; i++) { printf("\n"); for (int j = 1 ; j <= d ; j++) { printf ("[%d]",M [i] [j]); } } } void invierte { int fin = d; for (int i = { int aux = M M [i] [i] = M [d] [d] = fin--; } } (int M[20][20], int d) 1 ; i <= d / 2 ; i++) [i] [i]; M [d] [d]; aux;

int main() { int M [20] [20]; int d; printf ("Inserte dimen. de la matris cuadrada: "); scanf("%d",&d); llenar (M, d); printf ("\nMATRIS ORIGINAL: "); mostrar (M, d); printf ("\n\nMATRIS CON LA DIAGONAL PRINCIPAL INVERTIDA: "); invierte (M, d); mostrar (M, d); getch(); } /*Dada una matriz cuadrada invertir su diagonal secundaria*/ Cdigo: #include <stdio.h> #include <conio.h> void llenar (int M[20][20], int d) { for (int i = 1 ; i <= d ; i++) { for (int j = 1 ; j <= d ; j++) { printf ("Inserte pos[%d][%d]: ",i, j); scanf("%d",&M [i] [j]); } } } void mostrar (int M[20][20], int d) { for (int i = 1 ; i <= d ; i++) { printf("\n"); for (int j = 1 ; j <= d ; j++) { printf ("[%d]",M [i] [j]); } } } void invierte (int M[20][20], int d)

int fin = d; for (int i = { int aux = M M [i] [d] = M [d] [i] = fin--; }

1 ; i <= d / 2 ; i++) [i] [d]; M [d] [i]; aux;

int main() { int M [20] [20]; int d; printf ("Inserte dimen. de la matris cuadrada: "); scanf("%d",&d); llenar (M, d); printf ("\nMATRIS ORIGINAL: "); mostrar (M, d); printf ("\n\nMATRIS CON LA DIAGONAL SECUNDARIA INVERTIDA: "); invierte (M, d); mostrar (M, d); getch(); } /*Dada dos matrices de diferentes tamaos R y S mostrar los elementos comunes de R en S*/ Cdigo: #include <stdio.h> #include <conio.h> void llenar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { printf ("Inserte pos[%d][%d]: ",i,j); scanf("%d",&M [i] [j]); } } } void mostrar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { printf("\n"); for (int j = 1 ; j <= c ; j++) { printf ("[%d]",M [i] [j]); } } } void comunes (int R[20][20], int fr, int cr, int S[20][20], int fs, int cs) { printf("\n\nLos elementos comunes de R en S son: "); for (int i = 1 ; i <= fr ; i++) { for (int j = 1 ; j <= cr ; j++) { for (int k = 1 ; k <= fs ; k++) { for (int l = 1 ; l <= cs ; l++) { if (R [i] [j] == S [k] [l]) printf ("[%d]",R [i] [j]); }

} } }

int main() { int R [20] [20]; int S [20] [20]; int fr, cr, fs, cs; printf("Inserte filas de scanf("%d",&fr); printf("Inserte columnas scanf("%d",&cr); printf("Inserte filas de scanf("%d",&fs); printf("Inserte columnas scanf("%d",&cs);

R: "); de R: "); S: "); de S: ");

printf("\nLLENANDO MATRIS R: \n"); llenar (R, fr, cr); printf("\nLLENANDO MATRIS S: \n"); llenar (S, fs, cs); printf("\nLA MATRIS R : "); mostrar (R, fr, cr); printf("\n\nLA MATRIS S : "); mostrar (S, fs, cs); comunes (R, fr, cr, S, fs, cs); getch();

/*Intercambiar los datos de la columna 1 con la ultima columna*/ Cdigo: #include <stdio.h> #include <conio.h> void llenar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { printf ("Inserte pos:[%d][%d]: ",i,j); scanf("%d",&M [i] [j]); } } } void mostrar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { printf("\n"); for (int j = 1 ; j <= c ; j++) { printf ("[%d]",M [i] [j]); } } } void intercambiar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { int aux = M [i] [1]; M [i] [1] = M [i] [c]; M [i] [c] = aux; } }

int main () { int M [20] [20]; int f, c; printf ("Inserte filas de la matris: "); scanf("%d",&f); printf ("Inserte columnas de la matris: "); scanf("%d",&c); printf ("\nLLENANDO MATRIS : \n"); llenar (M, f, c); printf ("\nLA MATRIS ORIGINAL : "); mostrar (M, f, c); printf ("\n\nLA MATRICES INTERCAMBIADA : "); intercambiar (M, f, c); mostrar (M, f, c); getch();

/* Contar el nmero de dgitos de cada elemento de una matriz */ Cdigo: #include <stdio.h> #include <conio.h> void llenar (int M [20] [20], int f, int c) { for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { printf ("Inserte pos[%d][%d]: ",i,j); scanf("%d",&M [i] [j]); } } } void mostrar (int M [20] [20], int f, int c) { for (int i = 1 ; i <= f ; i++) { printf("\n"); for (int j = 1 ; j <= c ; j++) { printf ("[%d]",M [i] [j]); } } } void cuenta (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { int contador = 0; int n=M[i][j]; while (n != 0) { n = n / 10; contador++; } printf("\n[%d] tiene: %d digito(s)",M[i][j],contador); } } } int main () { int M [20] [20]; int f, c;

printf ("Inserte filas de la matris: "); scanf("%d",&f); printf ("Inserte columnas de la matris: "); scanf("%d",&c); printf ("\nLLENANDO MATRIS M: \n"); llenar (M, f, c); printf ("\nLA MATRIS: "); mostrar (M, f, c); printf ("\n\nCONTEO DE DIGITOS: "); cuenta (M, f, c); getch(); } /*Hallar la fila y la columna del primer elemento "e" */ Cdigo: #include <stdio.h> #include <conio.h> void llenarMatris (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { printf ("Inserte pos[%d][%d]: ",i,j); scanf("%d",&M [i] [j]); } } } void mostrarMatris (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { printf ("\n"); for (int j = 1 ; j <= c ; j++) { printf ("[%d]",M [i] [j] ); } } } void busqueda (int M[20][20], int f, int c, int e) { int bn = 0; for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { if (M [i] [j] == e) { printf("\nEl numero: %d se encuentra en la posicion: [%d][%d] de la matris",e, i, j); bn = 1; } } } if (bn == 0) printf("\nNo se encontro el numero %d en la matris :(",e); } int main () { int M [20] [20]; int f, c, numero; printf ("Inserte filas de la matris: "); scanf("%d",&f); printf ("Inserte columnas de la matris: "); scanf("%d",&c);

printf ("\nLLENANDO MATRIS: \n"); llenarMatris (M, f, c); printf ("\nLA MATRIZ Z: "); mostrarMatris (M, f, c); printf ("\n\nInserte un numero: "); scanf("%d",&numero); busqueda (M, f, c, numero); getch(); }

S-ar putea să vă placă și