int num=numero; //salvamos en num, la variable numero while (numero!=0) { sum_dig=sum_dig+(numero%10); //para sacar el ultimo digito de numero numero=numero/10; //elimina el ultimo digito de numero } printf("La suma de los digitos de %d es : %d",num, sum_dig); } else printf("\a ERROR: El digito no tiene 3 digitos"); getch(); }
Dado un numero verificar: - Que tenga dos digitos - Verificar si sus digitos son pares - Promediar sus digitos Cdigo:
#include <stdio.h> #include <conio.h> int main () { int numero; printf("Inserte num. de dos digitos pares: "); scanf("%d",&numero); int aux=numero; if(numero<100 && numero>9) { int d1=numero%10; numero=numero/10; int d2=numero%10; if(d1%2==0 & d2%2==0) printf("El promedio d los digitos de %d es: %d",aux,(d1+d2)/2); } else printf("\aERROR: el numero no tiene dos digitos"); getch(); }
getch(); }
http://foro.elhacker.net/ejercicios/ejercicios_resueltos_c_programacion_estructuradat201980.0.html#ixzz1LJtDFxdy
http://foro.elhacker.net/ejercicios/ejercicios_resueltos_c_programacion_estructuradat201980.0.html#ixzz1LJtJUvlJ
getch(); }
http://foro.elhacker.net/ejercicios/ejercicios_resueltos_c_programacion_estructuradat201980.0.html#ixzz1LJtPAL96
Dadas dos matrices A y B intercambiar los minimos de A con los maximos 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
//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(); }
{ 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(); }
void invierte { int fin = d; for (int i = { int aux = M M [i] [d] = M [d] [i] = fin--; } }
(int M[20][20], int d) 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 tamanios 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);
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(); }
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(); }
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(); }
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(); }
http://foro.elhacker.net/ejercicios/ejercicios_resueltos_c_programacion_estructuradat201980.0.html#ixzz1LJtbBtAo
} if (cc == 2) cant++; } } return (cant); } int primosVector (int V[20], int d) { int cant = 0; for (int i = 1 ; i <= d ; i++) { int c = 0; for (int j = 1 ; j <= V [i] ; j++) { if (V [i] % j == 0) c++; } if (c == 2) cant++; } return (cant); }
int main() { int M [20] [20]; int V [20]; int f, c, d; printf ("Inserte filas de la matris: "); scanf("%d",&f); printf ("Inserte columnas de la matris: "); scanf("%d",&c); printf ("Inserte dimension del vector: "); scanf("%d",&d); printf ("\nLLENANDO MATRIS: \n"); llenarMatris (M, f, c); printf ("\nLLENANDO EL VECTOR: \n"); llenarVector (V, d); printf ("\nLA MATRIS: "); mostrarMatris (M, f, c); printf ("\n\nEL VECTOR: \n"); mostrarVector (V, d); int primos = primosMatris (M, f, c) + primosVector (V, d); printf ("\n\nLA CANTIDAD DE NUMEROS PRIMOS QUE HAY EN LOS ARREGLOS ES: %d",primos); getch(); }
/*Dada la matrix de m*n y el vector de tamanio n, determinar que columna de la matris es igual al vector*/
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 llenarVector (int V[20], int d) { for (int i = 1 ; i <= d ; i++) { printf ("Inserte pos.[%d]: ",i); scanf("%d",&V [i]); } } void mostrarVector (int V[20], int d) { for (int i = 1 ; i <= d ; i++) { printf ("[%d]",V [i]); } } void procedure (int M[20][20], int f, int c, int V[20], int d) { for (int i = 1 ; i <= f ; i++) { int sw = 1; for (int j = 1 ; j <= c ; j++) { for (int k = 1 ; k <= d ; k++) { if (M [j] [i] != V [k]) sw = 0; } } if (sw == 1)
int main () { int M [20] [20]; int V [20]; int f, d; printf ("Inserte filas de la matris: "); scanf("%d",&f); printf ("Inserte dimension del vector: "); scanf("%d",&d); printf ("\nLLENANDO MATRIS: \n"); llenarMatris (M, f, d); printf ("\nLLENANDO EL VECTOR: \n"); llenarVector (V, d); printf ("\nLA MATRIS: "); mostrarMatris (M, f, d); printf ("\n\nEL VECTOR: \n"); mostrarVector (V, d); procedure (M, f, d, V, d); getch(); }
/*Dada una matris Z almacenar en un vector A la suma por sus columnas y en un vector B la suma por sus filas */ 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 llenarVector (int V[20], int d) { for (int i = 1 ; i <= d ; i++) { printf ("Inserte pos.[%d]: ",i); scanf("%d",&V [i]); } } void mostrarVector (int V[20], int d) { for (int i = 1 ; i <= d ; i++) { printf ("[%d]",V [i]); } } void vectorA (int M[20][20], int f, int c, int A[20], int d) { for (int i = 1 ; i <= f ; i++) { int suma = 0; for (int j = 1 ; j <= c ; j++) { suma = suma + M [j] [i]; } A [i] = suma; } } void vectorB (int M[20][20], int f, int c, int B[20], int d) { for (int i = 1 ; i <= f ; i++) { int suma = 0; for (int j = 1 ; j <= c ; j++) { suma = suma + M [i] [j]; } B [i] = suma; } } int main () { int Z [20] [20]; int A [20]; int B [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"); llenarMatris (Z, f, c); printf ("\nLA MATRIZ Z: "); mostrarMatris (Z, f, c);
printf ("\n\nSUMA vectorA (Z, f, c, mostrarVector (A, printf ("\n\nSUMA vectorB (Z, f, c, mostrarVector (B, getch(); }
POR COLUMNAS DE LA MATRIS (vector A): \n"); A, c); c); POR FILAS DE LA MATRIS (vector B): \n"); B, f); f);
http://foro.elhacker.net/ejercicios/ejercicios_resueltos_c_programacion_estructuradat201980.0.html#ixzz1LJtgA7lu