Mostrar los multiplos de 3 comprendidos entre los numeros 1 y 20 Código

:

#include <stdio.h> #include <conio.h> #include <iostream.h> int main () { clrscr(); for (int i=1;i<=20;i++) { cout<<i; if (i%3==0) cout<<" Es multiplo de 3" <<endl; else cout<<" No es multiplo de 3"<<endl; } getch(); return 0; }

Leer un numero de 3 digitos y sumarlos sus dígitos Código:

#include <stdio.h> #include <conio.h> int main () { int numero, sum_dig=0; printf("Inserte un numero de 3 digitos: "); scanf("%d",&numero); if (numero>=100) { 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 Código:

#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(); }

Dados seis numeros enteros determinar, el menor de ellos Código:

#include<stdio.h> #include<conio.h> int main() { int a, b, c, d, e, f; printf("Inserte num.1: "); scanf("%d",&a); printf("Inserte num.2: "); scanf("%d",&b); printf("Inserte num.3: "); scanf("%d",&c); printf("Inserte num.4: "); scanf("%d",&d); printf("Inserte num.5: "); scanf("%d",&e); printf("Inserte num.6: "); scanf("%d",&f); int menor=a; if(b<menor) menor=b; if(c<menor) menor=c; if(d<menor) menor=d; if(e<menor) menor=e; if(f<menor) menor=f; printf("El menor de %d,%d,%d,%d,%d,%d ",a,b,c,d,e,f); printf("\nEs %d",menor); getch(); }
hallar la sumatoria de: 2! + 4! + 6! + 8! + ... Código:

#include <stdio.h> #include <conio.h> int facto (int x) { int f=1; for (int i=1;i<=x;i++) {f=f*i;} return (f); } int main () { int n, serie=2, suma=0; printf ("Inserte cantidad de terminos a generar: "); scanf ("%d",&n); for (int i=1;i<=n;i++) { printf ("%d! + ",serie); suma=suma+(facto(serie)); serie=serie+2; } printf (" = %d",suma); getch(); }

Generar la serie: 1, 5, 3, 7, 5, 9, 7, ..., 23 Código:

#include <stdio.h> #include <conio.h> int main () { int serie=1; bool sw=true; do { printf("%d, ",serie); if (sw) serie+=4; else serie-=2; sw=!sw; } while (serie<=23);

getch(); }

/*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] */ Código:

#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 evualuarlo en el punto x (todo en un vector)*/ Código:

#include <stdio.h> #include <conio.h>

h> void llenar (int M[20][20].i). int e) { int p = 1.h> #include<conio. printf("Inserte dimen. evalua (V. scanf("%d". del vector: "). } } int potencia (int b. x.&d). } printf("\n\nX es igual a: %d". d).[%d]: ". i++) { printf ("Inserte pos.j<=c. d.j++) { M[i][j]=k. i += 2) { s = s + (V [i] * potencia (x. printf("\nVECTOR: "). } void evalua (int V []. printf ("Inserte valor de (x): "). mostrar (V. llenar (V. } int main () { int V[20]. k++. for (int i=1. for (int i = 1 . int c) { int k=1. } } void mostrar (int V[20]. for (int i = 1 . d). getch(). scanf("%d".&x). V [i + 1])). } } .i++) { if (i%2!=0) { for (int j=1. int f. int d) { for (int i = 1 . i++) { printf ("[%d]". i <= d . x). int d. i <= d . i <= d .void llenar (int V[20].V[i]). } Generar la matriz: [01][02][03][04] [08][07][06][05] [09][10][11][12] Código: #include<stdio. int x) { int s = 0. i++) { p = p * b. i <= e .i<=f. int d) { for (int i = 1 .&V[i]). int d.s). } return (p). scanf("%d".

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

} int maximo (int M[20][20]. for (int j = 1 . i++) { printf("\n"). j <= c . int f. fb. int c) { int max = M [1] [1]. //para cambiar los minimos de A con los maximos de B for (int i = 1 . j++) { printf ("Inserte pos[%d][%d]: ". fa. j++) { if (M [i] [j] > max) max = M [i] [j]. } void intercambiar (int A[20][20]. int fb. i++) { for (int j = 1 . i++) { for (int j = 1 . int c) { int men = M [1] [1]. int c) { for (int i = 1 .&M[i][j]). scanf("%d". } } return (max). j <= ca . int max_b = maximo (B. j <= c . j++) { if (A[i][j] == min_a) A[i][j]=max_b. int ca. i <= fa . ca).&d). . mostrar(M. for (int i = 1 . j <= c .h> void llenar (int M[20][20].printf("Insert dimen: "). int c) { for (int i = 1 . j++) { if (M [i] [j] < men) men = M [i] [j]. d). for (int i = 1 . j++) { printf ("[%d]". i++) { for (int j = 1 . j <= c . cb). int f.M[i][j]). } } } int menor (int M[20][20]. } } return (men).i.h> #include <conio. getch(). int cb) { int min_a = menor (A. int f.j). i <= f . d). } } } void mostrar (int M[20][20]. i++) { for (int j = 1 . i <= f . i <= f . int B[20][20]. i <= f . } Dadas dos matrices A y B intercambiar los minimos de A con los maximos de B Código: #include <stdio. int fa. int f. llenar(M. scanf("%d".

printf ("\nMATRICES ORIGINALMENTE INSERTADAS: "). ca). fa. fb. fb. cb). } } } void invierte (int M[20][20].&fa).&M [i] [j]). mostrar (A. j <= cb . } } } void mostrar (int M[20][20]. i++) { for (int j = 1 . ca). fb. j <= d .&ca). i <= d . scanf("%d". A: ").M [i] [j]). //lectura de matrices printf ("\nINSERTANDO DATOS EN MATRIS A: \n"). fa. int B [20] [20].h> void llenar (int M[20][20]. scanf("%d".} } //para intercambiar los maximos de con los minimos de A for (int i = 1 . cb). i++) { printf("\n"). i++) { for (int j = 1 . ca. llenar (B. scanf("%d". cb). mostrar (B.&cb). B. mostrar (B.h> #include <conio. printf ("Insert filas de printf ("Insert columnas printf ("Insert filas de printf ("Insert columnas A: de B: de "). printf ("\nMATRICES DESPUES DEL INTERCAMBIO:"). getch(). llenar (A. ca. i <= fb . ca). fb. } } } int main () { int A [20] [20]. j++) { printf ("[%d]". j). int d) { int fin = d. j++) { printf ("Inserte pos[%d][%d]: ". fb. scanf("%d". printf ("\n"). mostrar (A. printf ("\nINSERTANDO DATOS EN MATRIS B: \n"). printf ("\n"). //intercambiando elementos intercambiar (A.i. for (int j = 1 . fa. j++) { if (B[i][j] == max_b) B[i][j]=min_a. printf ("\n"). . j <= d . cb. fa. int d) { for (int i = 1 . } /*Dada una matris cuadrada invertir su diagonal principal*/ Código: #include <stdio. scanf("%d". "). int d) { for (int i = 1 . i <= d .&fb). int fa. cb). B: ").

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

invierte (M. } } } } } int main() { int R [20] [20]. cs. i <= f . printf("Inserte columnas scanf("%d". for (int j = 1 . j++) { printf ("Inserte pos[%d][%d]: ". j <= c . printf("\nLLENANDO MATRIS S: \n"). int fr. i++) { for (int j = 1 . fs. k <= fs . int S[20][20]. cr). int fs.&M [i] [j]). int fr. .h> void llenar (int M[20][20]. k++) { for (int l = 1 . i++) { printf("\n"). S: ").R [i] [j]). int f. printf("Inserte filas de scanf("%d". j++) { for (int k = 1 . cs). fs.j). i++) { for (int j = 1 .&fs). int S [20] [20]. d). printf("Inserte filas de scanf("%d". int cr. j++) { printf ("[%d]". de S: "). printf("\nLLENANDO MATRIS R: \n"). int cs) { printf("\n\nLos elementos comunes de R en S son: "). int c) { for (int i = 1 . for (int i = 1 . mostrar (M. } } } void mostrar (int M[20][20]. i <= fr . int c) { for (int i = 1 . } } } void comunes (int R[20][20].&cs).h> #include <conio. d).&fr).M [i] [j]). fr. printf("\nLA MATRIS R : ").&cr). R: "). de R: "). l++) { if (R [i] [j] == S [k] [l]) printf ("[%d]". } /*Dada dos matrices de diferentes tamanios R y S mostrar los elementos comunes de R en S*/ Código: #include <stdio. i <= f . llenar (S. cr. scanf("%d". int f.i. printf("Inserte columnas scanf("%d".printf ("\n\nMATRIS CON LA DIAGONAL SECUNDARIA INVERTIDA: "). j <= c . j <= cr . l <= cs . getch(). llenar (R.

f. printf ("\nLLENANDO MATRIS : \n"). i++) { int aux = M [i] [1].&f). S. int c) { for (int i = 1 . int f. } /*Intercambiar los datos de la columna 1 con la ultima columna*/ Código: #include <stdio. i <= f . fr. f. } /* Contar el numero de digitos de cada elemento de una matris */ Código: #include <stdio.h> #include <conio. comunes (R. getch(). int f. fs. j++) { printf ("Inserte pos:[%d][%d]: ". getch(). printf ("Inserte filas de la matris: "). f. c). } } int main () { int M [20] [20]. llenar (M. int f. M [i] [c] = aux. f. scanf("%d". c). i <= f . printf ("\nLA MATRIS ORIGINAL : "). c. i <= f .mostrar (R. c). fs. fr.i. for (int j = 1 . int c) { for (int i = 1 . int f.&c). j++) { printf ("[%d]". int f. printf("\n\nLA MATRIS S : "). cs). mostrar (M. int c) . } } } void intercambiar (int M[20][20]. printf ("\n\nLA MATRICES INTERCAMBIADA : "). i++) { for (int j = 1 . i++) { printf("\n").h> void llenar (int M [20] [20]. c).&M [i] [j]). intercambiar (M. cr. j <= c . j <= c . scanf("%d". mostrar (S.h> void llenar (int M[20][20].M [i] [j]).h> #include <conio. M [i] [1] = M [i] [c]. int c) { for (int i = 1 . cr). cs). scanf("%d". printf ("Inserte columnas de la matris: ").j). mostrar (M. } } } void mostrar (int M[20][20].

j <= c . printf ("\nLA MATRIS: "). llenar (M. i <= f . } printf("\n[%d] tiene: %d digito(s)". } } } int main () { int M [20] [20].j). i++) { printf("\n").j). int c) { for (int i = 1 . j++) { printf ("Inserte pos[%d][%d]: ".&M [i] [j]). } } } void cuenta (int M[20][20]. scanf("%d". i <= f . int f. int n=M[i][j]. j++) { printf ("Inserte pos[%d][%d]: ". c. i++) { for (int j = 1 .h> void llenarMatris (int M[20][20]. j <= c . j++) { int contador = 0. int f.i. printf ("Inserte filas de la matris: "). j <= c . int c) { for (int i = 1 . scanf("%d".M[i][j].contador). for (int j = 1 . c).h> #include <conio. printf ("Inserte columnas de la matris: "). i <= f .M [i] [j]). j++) { printf ("[%d]". i <= f .&c). f. } /*Hallar la fila y la columna del primer elemento "e" */ Código: #include <stdio. int f. } } } void mostrar (int M [20] [20]. f. c).i. mostrar (M. while (n != 0) { n = n / 10. int f. getch(). int c) { for (int i = 1 . } } .&f). scanf("%d". i++) { for (int j = 1 . scanf("%d".&M [i] [j]). i++) { for (int j = 1 . printf ("\n\nCONTEO DE DIGITOS: "). j <= c . cuenta (M. c). contador++. printf ("\nLLENANDO MATRIS M: \n").{ for (int i = 1 . f.

for (int i = 1 . int c) { . j <= c . c). printf ("\nLA MATRIZ Z: "). printf ("Inserte filas de la matris: "). j <= c . c. scanf("%d". int c) { for (int i = 1 . printf ("Inserte columnas de la matris: "). int c) { for (int i = 1 . f.M [i] [j] ). } /* Dada una matris y un vector. f. scanf("%d". numero. } int main () { int M [20] [20]. getch(). printf ("\nLLENANDO MATRIS: \n").&f). i <= f . i++) { for (int j = 1 . busqueda (M. scanf("%d". } } } void mostrarMatris (int M[20][20]. i <= f . j++) { printf ("[%d]". int f. contar la cantidad de numeros primos de ambos */ Código: #include <stdio. mostrarMatris (M. i++) { printf ("\n"). j <= c . int f. int f. int f.&c). for (int j = 1 . c. i.i. } } } if (bn == 0) printf("\nNo se encontro el numero %d en la matris :(".&numero). i <= f . j). j++) { printf ("Inserte pos[%d][%d]: ".} void mostrarMatris (int M[20][20]. j++) { if (M [i] [j] == e) { printf("\nEl numero: %d se encuentra en la posicion: [%d][%d] de la matris".e). int c. numero).&M [i] [j]). printf ("\n\nInserte un numero: "). int f. bn = 1. int e) { int bn = 0. } } } void busqueda (int M[20][20]. c).h> #include <conio. i++) { for (int j = 1 . llenarMatris (M. f.h> void llenarMatris (int M[20][20].e. scanf("%d".j).

int d) { for (int i = 1 . } int main() { int M [20] [20]. int d) { int cant = 0. j <= c . i <= d . int V [20]. j++) { int cc = 0. . c. i++) { printf ("\n"). scanf("%d".for (int i = 1 . printf ("Inserte columnas de la matris: ").&V [i]). i++) { int c = 0. for (int k = 1 . i++) { for (int j = 1 . for (int i = 1 . k <= M [i] [j] . } return (cant). int d) { for (int i = 1 . for (int j = 1 . } int primosVector (int V[20]. j++) { printf ("[%d]". int f.&f). int c) { int cant = 0. } if (c == 2) cant++. k++) { if (M [i] [j] % k == 0) cc++. scanf("%d". } } void mostrarVector (int V[20]. for (int j = 1 . i <= f . printf ("Inserte filas de la matris: "). int f. i <= f . scanf("%d". for (int i = 1 .[%d]: ". j <= c . d. i <= d . i++) { printf ("Inserte pos.M [i] [j] ) } } } void llenarVector (int V[20]. } if (cc == 2) cant++.V [i]). i <= d .&c). j++) { if (V [i] % j == 0) c++. j <= V [i] . i++) { printf ("[%d]". } } return (cant). } } int primosMatris (int M[20][20].i).

d). j++) { printf ("[%d]". mostrarMatris (M. int c) { for (int i = 1 . j <= c .&M [i] [j]).i). f.printf ("Inserte dimension del vector: "). determinar que columna de la matris es igual al vector*/ Código: #include <stdio. i++) { printf ("Inserte pos.[%d]: ". j++) { printf ("Inserte pos[%d][%d]: ".h> #include <conio. i <= f . f. int f. i <= f . int primos = primosMatris (M. i <= d . d). i <= d . int f. } } void mostrarVector (int V[20]. i++) { printf ("[%d]". i <= f . int c. } } } void llenarVector (int V[20]. int V[20]. mostrarVector (V.&d). int d) { for (int i = 1 . for (int j = 1 . printf ("\n\nLA CANTIDAD DE NUMEROS PRIMOS QUE HAY EN LOS ARREGLOS ES: %d". c) + primosVector (V. llenarMatris (M. printf ("\nLLENANDO MATRIS: \n"). int c) { for (int i = 1 . scanf("%d". for (int j = 1 . int d) { for (int i = 1 . i++) { for (int j = 1 . j <= c .i. printf ("\n\nEL VECTOR: \n").j). i++) { printf ("\n"). } } void procedure (int M[20][20]. int d) { for (int i = 1 . i++) { int sw = 1. scanf("%d". printf ("\nLA MATRIS: "). llenarVector (V. } /*Dada la matrix de m*n y el vector de tamanio n. j <= c . j++) . printf ("\nLLENANDO EL VECTOR: \n"). getch().V [i]). c).M [i] [j] ). c). int f. f.&V [i]).h> void llenarMatris (int M[20][20]. } } } void mostrarMatris (int M[20][20].primos). scanf("%d". d).

scanf("%d". f. mostrarVector (V. mostrarMatris (M.i). int c) { for (int i = 1 . int f. printf ("Inserte dimension del vector: ").&f). } } } void llenarVector (int V[20]. } } } void mostrarMatris (int M[20][20]. int V [20]. int f.&M [i] [j]). int c) { for (int i = 1 . int d) { for (int i = 1 . printf ("\n\nEL VECTOR: \n"). i <= d . k <= d . } } int main () { int M [20] [20]. scanf("%d". int f. d. for (int j = 1 . printf ("\nLA MATRIS: ").i. i <= f . V. i++) . } /*Dada una matris Z almacenar en un vector A la suma por sus columnas y en un vector B la suma por sus filas */ Código: #include <stdio. d). getch(). printf ("\nLLENANDO EL VECTOR: \n"). d). d. f. j <= c . procedure (M. d).{ for (int k = 1 . llenarMatris (M. j++) { printf ("[%d]". d). i++) { printf ("\n"). printf ("Inserte filas de la matris: ").h> void llenarMatris (int M[20][20].&d). k++) { if (M [j] [i] != V [k]) sw = 0. i <= f .h> #include <conio. i++) { for (int j = 1 . j++) { printf ("Inserte pos[%d][%d]: ". j <= c . d). llenarVector (V.j). printf ("\nLLENANDO MATRIS: \n"). } } if (sw == 1) printf ("\n\nLa columna %d es igual al vector". scanf("%d".M [i] [j] ). f.

j <= c . i <= d . printf ("\nLLENANDO MATRIS: \n").{ printf ("Inserte pos. int f. int f.&c). mostrarMatris (Z. j++) { suma = suma + M [j] [i]. printf ("\nLA MATRIZ Z: "). llenarMatris (Z. } } void vectorA (int M[20][20]. . i++) { printf ("[%d]". c). c. printf ("Inserte columnas de la matris: "). int c. getch().&V [i]). printf ("\n\nSUMA vectorB (Z. c). } } int main () { int Z [20] [20]. j <= c . mostrarVector (B. int A[20]. f). i <= f . c). scanf("%d". printf ("Inserte filas de la matris: "). c). f. c. } } void mostrarVector (int V[20]. int d) { for (int i = 1 . int c. } POR COLUMNAS DE LA MATRIS (vector A): \n"). int d) { for (int i = 1 . A. for (int j = 1 . f.&f). scanf("%d". int B[20].[%d]: ". mostrarVector (A. POR FILAS DE LA MATRIS (vector B): \n"). } } void vectorB (int M[20][20]. f. scanf("%d". j++) { suma = suma + M [i] [j]. int B [20]. i++) { int suma = 0. for (int j = 1 . int d) { for (int i = 1 . f. i++) { int suma = 0. } A [i] = suma. } B [i] = suma. B. printf ("\n\nSUMA vectorA (Z. int A [20]. f). i <= f . c.V [i]).i). int f.

.Problemas propuestos C Básico Ejercicio 100 Escribir un programa que solicite una temperatura y sistema de medición (celsius o farenheit) y que haga la conversión al otro sistema. B y C y calcule Ax2+Bx+C=0 Ejercicio 104 Escribir un programa que solicite un año e indique si es bisiesto o no Un año es bisiesto si es múltiplo de 4 excluyendo aquellos que son múltiplo de 100 y no de 400. Se pide cuantas monedas de 1 centimo Cuantas monedas de 2 centimos Cuantas monedas de 5 centimos Cuantas monedas de 10 centimos Cuantas monedas de 20 centimos Cuantas monedas de 50 centimos Cuantas monedas de 1 Euro Cuantas monedas de 2 Euros Cuantos billetes de 5 Euros Cuantos billetes de 10 euros Cuantos billetes de 20 Euros Cuantos billetes de 50 Euros Cuantos billetes de 100 Euros Cuantos billetes de 200 Euros Cuantos billetes de 500 Euros y calcular la suma total en euros Ejercicio 102 Escribir un programa que solicite una cantidad entera en formato decimal y la convierta a binario y hexadecimal Ejercicio 103 Escribir un programa que solicite tres números reales A. ej el 7) 7x1=7 7 x 2 = 14 t x 3 = 21 7 x 4 = 28 7 x 5 = 35 . Ejercicio 107 Realizar un programa que solicite una cantidad entera. Ejercicio 127 Comprobar que una codificacion de tarjeta de credito es valida. Dada esa cantidad X debe solicitar X números y ordenarlos de mayor a menor Ejercicio 108 Realizar un programa que solicite el nombre. dirección y teléfono de 5 personas. El cero termina Ejercicio 119 Realizar un programa que solicite una máscara de subred y devuelva una ip válida. Una vez metidos preguntará un número entre 1 y 5 para sacar la información de esa persona. ..(para pasar a farenheit y=5/9X-32) x=grados celsius Ejercicio 101 Escribir un programa para el arqueo de caja de una tienda. Ejercicio 105 Escribir un programa que calcule los 100 primeros números primos Ejercicio 106 Escribir un programa que pregunte un número entero entre uno y 9 y genere la tabla de multiplicar de ese númeroen el siguiente formato (p.hay un numero diferente para cada banco(esto se busca en internet). El numero se compone de tres partes principales: Los 4 primeros digitos componen el identificativo del banco que cede la tarjeta.y si nos es valida t dice k numero tienes k cambiarle para hacerla valida. 7 x 10 = 70 Ejercicio 124 Conociendo las monedas y billetes que están en caja pedir el precio de compra de un producto y que el programa diga los cambios que hay que devolver(no solo el importe sino como distribuirlo en monedas y billetes) Para ello primero hay que preguntar que monedas y billetes tenemos y luego que cantidad hay que cobrar.

Sumar los digitos de las posiciones pares y los nuevos de las posiciones impares. Si el cliente es aceptado se le envía al cliente una aceptación Si el cliente es rechazado se le envía al cliente una denegación La estructura del paquete de comunicaciones es: código: 5 dígitos (código 1 = presentación (quién soy). Acceso a ficheros Ejercicio 122 Escribir un programa que solicite palabras y las agrege a un fichero llamado c:\diccionario de forma que luego se puedan consultar las palabras una a una Ejercicio 109 Escribir un fichero que contenga 255 caracteres cualesquiera y los guarde en c:\exploit. código 2 = solicitud de identificación (¿quién eres?) código=3 = aceptación ("aceptado") código 4 = denegación (rechazado) usuario (máximo 20 caracteres) clave (máximo 10 caracteres) ip_propia (20 caracteres) puerto_propio (5 caracteres) Ejercicio 116 Realizar una aplicación de cliente que busque a un servidor mediante un ping y si lo encuentra le envie un paquetecon la siguiente información: código = 1 Nombre de usuario (obligatoriamente 20 caracteres) .Discover(6).El 5 digito es el tipo de tarjeta e indica que entidad financiera gestiona esta tarjeta. 4*2=8 3*2=6 4*2=81*2=2 0*2=0 9*2=18-->1+8=9 7*2=14--->1+4=5 5*2=10--->1+0=1 2.Si el resultado es multiplo de 10 entonces el numero es valido. los 10 digitos siguientes componen el numero de usuario e identifican a este de manera unica.Multiplicamos por dos los numeros de las posiciones imapres(4-3-4-1-0-9-7-5) y dejarlos con un solo digito. si es impar usar otro.exe con el parámetro correspondiente a la versión obtenida Esas comprobaciones pueden ser sumar dos números aleatorios y si es par usar un parámetro. Si tenemos el numero de la tarjeta 4539 4512 0398 7356 y queremos comprobar que es válido: 1. Digito de control es el ultimo numero y se obtiene aplicando un algoritmo al resto del numero. 5+9+5+2+3+8+6+ 8+6+8+2+0+9+5+1=80 3.american Expres(3).exe que será un archivo ejecutable.exe (lo tiene metido en un array) b) realiza una serie de comprobaciones (las que queramos) c) según el resultado de esas comprobaciones (figuradamente versión del sistema operativo por ejemplo) ejecuta exploit.exe y si existe que lo lea y lo conserve en un array Ejercicio 111 Escribir un programa que lea el archivo c:\exploit. Al ejecutarse hace: a) crea el archivo exploit. pero quizá podais intentar meter allí un código real que haga algo Ejercicio 112 Realizar un keylogger que detecte las pulsaciones y las escriba a un fichero llamado log.Master card(5).exe Ejercicio 110 Comprobar si existe el fichero c:\exploit. El formato es el siguiente 1111 2333 3333 3334 algoritmo de codificacion: Se realiza en tres pasos.txt utilizando las apis de windows Comunicaciones Ejercicio 113 Escribir un programa que escuche en el puerto 4500 Ejercicio 114 Escribir un programa que haga ping para encontrar un servidor que escuche en el puerto 4500 Ejercicio 115 Escribir un programa en que en el que un servidor escucha en el puerto 4500 y si un cliente intenta conectarse se le envía una paquete donde se le solicita que se identifique y queda a la escucha para recibir identificación.exe no hay un código real no funcionará. Naturalmente si en exploit.exe y genere un archivo c:\ExploitCompleto.Las mas importantes son Visa(4).

18. Por cada número introducido se deberá visualizar: y y a.elhacker.Se cifra y se compara con la anterior (es decir no se comparan las contraseñas sino su resultado cifrado). 54. y otra que te imprima por pantalla los múltiplos del númeo. Y si el número no es primo: sus 10 primeros múltiplos. Por ejemplo: Introduzca un número: 5 Es primo Suma de todos los primos anteriores: 6 Introduzca un número: 9 No es primo. Sus múltiplos: 9. rango de direcciones válido. Operaciones de bit Ejercicio 117 escribir un programa al que solicita una máscara de subred en formato decimal.html Otros propuestos varios Examenes sin resolver del segundo trimestre: 1º. Para resolver el ejercicio. Si el número es primo: la suma de todos los primos anteriores a él. Si se llama a la aplicación con el parámetro /D entonces en vez de subirlos baja todos los archivos que estén allí a esa carpeta. deberás utilizar tres funciones fuera del main: una que te diga si un numero es primo o no. otra que te devuelva la suma de los números primos. 63. El programa devolverá todas las subredes con la siguiente información: Dirección de red. dirección de broadcast Ejercicio 118 Escribir un programa que solicita una máscara de subred y dos direcciones ip. 90 . Si se pasa el parámetro /d hay que descodificar. El programa informará si ambas direcciónes están en la misma subred o no Seguridad Ejercicio 120 Realizar un programa que solicite una clave y luego por iteraciones encuentre la clave Ejercicio 121 Realizar un programa que solicite una clave y luego buscando en un diccionario de palabras del ejercicio 122 intente encontrar la clave Ejercicio 123 Escribir un programa que solicite usuario y contraseña. 45. 72. que será cuando introduzca un número negativo.Si se pasa el parámetro /c hay que codificar. 81. Crear un programa en C que solicite números enteros positivos distintos de 0 hasta que el usuario desee terminar.0. no incluyendole. 36. El formato será por tanto "aplicación [/d /c] clave El sistema de cifrado será base64 Las soluciones están en esta página http://foro.contraseña: (obligatoriamente 10 caracteres) ip_local: la ip del cliente puerto_local (el puerto donde escuchar la respuesta) y quede a la escucha para recibir aceptación Ejercicio 126 Realizar una aplicación que solicite usuario y contraseña y carpeta e intente realizar una sesión ftp con ese usuario y contraseña para subir todos los archivos que estén en esa carpeta. La contraseña se cifra como querais y se vuelve a solicitar contraseña (para verificar). Si no se pone se asume '/c'. b. Si no se pone clave no hace nada. Se considera que todos los archivos son texto. Ejercicio 125 Escribir un programa que permita codificar/descodificar una determinada clave que se pasa como argumento. 27.net/ejercicios/soluciones_ejercicios_c- t35174.

La función debe devolver el número 1 si existe algún número primo en la matriz el número 2 si existe algún número perfecto. Se debe imprimir la transpuesta.c. La concatenación debe quedar almacenada en el arreglo b.2º Examen Realiza un programa que rellene un vector de 12 elementos con números enteros positivos introducidos por teclado por el usuario.b . los arreglos deben quedar con los datos originales y se debe retornar el numero -1.8. crear numeros aleatorios validos para una letra del DNI previamente introducida. Los datos se informan por columnas.b .8. menos o igual que la media de los elementos que ocupan posiciones impares en el vector. Por ejemplo si el contenido de a y b es: a) a -b -c . El programa debe calcular la trasnpuesta de la matriz leida. Ejemplo:sea el vector 10 15 20 4 6 5 6 8 9 2 16 33 Los elementos para calcular la media son: 20 16 33 y la media es: 23 Media de elementos que ocupan posiciones pares: 11.16 La media de los elementos que ocupan posiciones pares es igual que la suma de los elementos que ocupan posiciones impares. una por cada punto y en el orden indicado: y y y y Calcula la media aritmética de los elementos mayores que 15 del vector e imprime por pantalla el resultado. se debe devolver el numero 1.\0 y la máxima capacidad de b es n=20.a .4 . Despues imprime el vector en el main para ver el cambio.z.x -y -z . Indica si la media de los elementos que ocupan posiciones pares es mayor.16 Media de elementos que ocupan posiciones impares: 11. si la longitud del arreglo b no es suficiente para la concatenación.z .1.Calcular la letra del DNI a partir de un numero introducido Algoritmo para sacar la letra del DNI Ejercicio nº 2: . 2)elaborar una función que reciba dos arreglos a y b y un numero n que indica la máxima capacidad del arreglo b y permita concatenar los arreglos.A partir del algoritmo del ejercicio anterior. además de los números que han sido utilizados para la media.b .4 .7 La matriz debe quedar cargada asi: 4 5 1 3 8 2 1 8 7 Propongo esta serie de ejercicios inventados al momento: Ejercicios matematicos Ejercicio nº1: . Ejercicio nº 3: . Utiliza una función para intercambiar de posición los elementos mayor y menor del vector. A continuación realiza las siguiente tareas mediante el uso de funciones. El elemento mayor es 33 y esta en la posición 11 El elemento menor es 2 y esta en la posición 9 Divisores de 20: 10 20 4 5 2 1) elaborar una función que reciba una matriz y el número de filas y de columna.x -y .5. Busca e imprime todos los divisores del elemento que ocupa la posición 2 en el vector. Se debe retornar el numero 0 de contrario.z .2. se debe devolver numero 1 y el arreglo b queda con los siguientes datos : b) 1 .\0 el arreglo a en ningún caso debe sufrir ninguna modificación 3) Elaborar un programa que lea 9 numeros y los cargue un una matriz de 3 filas y 3 columnas. Si el proceso se pudo hacer. por ejemplo si los datos son: 4.3.\0 b) 1 .1.

zzzy zzzz ejercicio nº 8: . .. surgida como consecuencia del estudio del crecimiento de las poblaciones de conejos.Crear una funcion la cual se le introduzca el nombre de un archivo de texto y lo guarde. linea a linea). Creo que ya es suficiente. también llamado Fibonacci.Crear uina aplicacion que pida un numero de filas y respecto a estas.Crear una alpicacion que pida un numero y lo devuelva en letras. si nadie lo postea. Ejercicio nº 4: . . es lo unico que se me venia a la cabeza).. lo ordene alfabeticamente y lo deje del mismo formato que el Archivo resultado (es decir.Crear una funcion la cual. y por su papel en la popularización del sistema de numeración posicional en base 10 en Europa. famoso por la invención de la sucesión de Fibonacci.Crear una aplicacion que pida un numero y haga lasucceción de Fibonacci. .. fue un matemático italiano.Crear una aplicacion que te pida un año y verifique si el año esbisiestoo no. Ejercicio nº 9: . palabra por palabra. a medida que vaya apsando el tiempo..Crear una funcion para hacer un diccionario de fuerza bruta de 4 filas y lo guarde todo en un fichero. Ejercicio nº 5: . dibuje un triangulo como el siguiente: * *** ***** ******* ********* Ejercicio nº 6: . Ejemplo de fuerza bruta aaaa aaab aaac aaad aaae . a partir del Archivo resutlado del anterior ejercicio. por ejemplo: Numero introducido: 356 Resultado: trescientos cincuenta y seis Ejercicios con archivos: Ejercicio nº 7: . por ejemplo: Archivo fuente: Esto son ejercicios para aprender a programar en C# Archivo resultado: Esto son ejercicios para aprender a programar en C# Texto a ordenar: Leonardo de Pisa o Leonardo Pisano o Leonardo Bigollo. posteare yo mismo las soluciones (estos ejercicios son facilitos.

9=D. Calcular la suma de los valores del intervalo [1 ± 20]. 13=J. 3=A. 17=V. Después. 20=C. ¿Es 2431 ? Dime cuántas cifras he acertado: 1 ¿Es 1324 ? Dime cuántas cifras he acertado: 2 ¿Es 4321 ? Dime cuántas cifras he acertado: 0 ¿Es 1234 ? Dime cuántas cifras he acertado: 4 Calculadoar aritmética -> Generador de números de Fibonacci -> Generador de números de lotería aleatórios -> Averiguar si un número es capicua o no. Al principio. 11=B. 1=R. Intenta adivinar la cadena: 1243 Con 1243 has adivinado 0 valores. 15=S. El juego consistirá en adivinar una cadena de números distintos. para cada operación de sumatoria parcial determine. 14=Z. Ejemplo: Dime un año: 1800 Dime otro año: 1900 Entre 1800 y 1900 (ambos incluidos) hubo 24 años bisiestos y en total 36889 días. el programa debe pedir la longitud de la cadena (de 2 a 9 cifras). 12=N. A cada resultado le corresponde una letra: 0=T. 7=F. 18=H. 10=X. Intenta adivinar la cadena: 1432 Con 1432 has adivinado 2 valores. 3799 se escribe MMMDCCLXXXXVIIII Ejercicio 3: Escribe un programa que pida dos años y calcule el número de años bisiestos que hay entre esos dos años (incluyendo los dos años) y el número de días total entre esos dos años (incluyendo los dos años).Ejercicio 1: Escribe un programa que calcule la letra del NIF a partir del número del DNI. 2=W. Ejemplo: Dime la longitud de la cadena: 4 Intenta adivinar la cadena: 1234 Con 1234 has adivinado 1 valores. Felicidades Ejercicio 5: Escribe un programa que sea capaz de jugar al Master Mind con las reglas del ejercicio anterior. en que podía haber hasta cuatro símbolos iguales seguidos. el programa debe pedir la longitud de la cadena (de 2 a 9 cifras). M=1000. Ejercicio 4: Escribe un programa que te permita jugar a una versión simplificada del juego Master Mind. X=10. 6=Y. 21=K. L=50. Si la misma es un número primo. Ejemplo: Dime la longitud de la cadena: 4 Piensa una cadena de 4 cifras distintas. La letra se obtiene calculando el resto de la división del número del DNI por 23. el programa informará de cuántos números han sido acertados (el programa considerará que se ha acertado un número si coincide el valor y la posición). Para hacer más fácil el ejercicio. 4=G. 5=M. el programa debe ir intentando adivinar la cadena de números. 22=E. y áreas de circulos -> Operaciones aritméticas con números en coma flotante 1. a. En cada intento. Después el programa debe ir pidiendo que intentes adivinar la cadena de números. Intenta adivinar la cadena: 2431 Con 2431 has adivinado 4 valores. Ejemplo: Dime tu DNI: 19901130 Tu NIF es: 19901130 . .N Ejercicio 2: Escribe un programa que convierta números inferiores a 5000 escritos con cifras árabes en números escritos con números romanos. C=100. -> Calculos de: TBN. TBM. puedes utilizar la notación romana antigua. 16=Q. El valor de los diferentes números romanos es el siguiente: I=1. D=500. V=5. Ejemplo: Dime un número: 3799 En números romanos. 19=L. Al principio. 8=P.

i++. es_palindromo(a). Sumatorias parciales iniciadas en tres.000 no pagan impuesto.i<strlen(a). intultPos=strlen(a)-1. free(a). La manera de planificarlas depende de lo siguiente: Si actualmente su capital se encuentra con saldo negativo. pedirá un préstamo bancario para que su nuevo saldo sea de Bs. voides_palindromo(char*a) { Bool b=TRUE. Para calcular los pagos considerar lo siguiente: · Los obreros pagan 10 % de impuesto · Los empleados pagan 10 % de impuesto. return0. pero si su capital tiene actualmente un saldo superior a los Bs. . break. · Los trabajadores (obreros y empleados) que reciban un pago menor de Bs. Una vez obtenida la sumatoria total. } } if(b)ES_PALIN elseNO_PALIN. Al final se desea: · Total a pagar a cada obrero y empleado.000 para mobiliario. invierta el mismo y determine si es par o impar. inti. 20. } intmain() { char*a=(char*)calloc(20. Factorial de la suma parcial.sizeof(char)). y el resto la mitad será para la compra de insumos y la otra para otorgar incentivos al personal. c.ultPos--) { if(a[i]!=a[ultPos]) { b=FALSE.a).000 no pedirá ningún préstamo. 10. Desplegar que cantidades se destinaran para la compra de insumos e incentivos al personal y. · El tipo de trabajador (obrero o empleado).a=NULL. Posteriormente repartirá su presupuesto de la siguiente manera: · Bs. system("pause").000. · Total pagado a obreros y empleados. · Bs. 1. · Total de impuesto pagado.h> #include <stdlib.h> #include <string. 2. for(i=0. * Algoritmo que te dice si una palabra es palindromo */ #include <stdio.h> #define ES_PALIN printf("\n\nEs palindromo\n\n"). Desarrolle un programa que calcule e imprima el pago de 43 trabajadores que laboran en la Compañía GACMAN. 2.000 para equipo de cómputo. printf("Palabra: "). El dueño de una empresa desea planificar las decisiones financieras que tomara en el siguiente año. 3. · El sueldo por hora. a cuanto ascendería la cantidad que se pediría al banco. #define FALSE 0 #define TRUE !FALSE typedefintBool. · Cantidad de trabajadores que no pagan impuesto.000. d.b. · Total de impuesto pagado por los obreros y por empleados.scanf("%s". Si su capital tiene actualmente un saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de Bs. #define NO_PALIN printf("\n\nNo es palindromo\n\n"). Los datos que se leerán serán los siguientes: · Las horas trabajadas. 20. 5. en caso de que fuera necesario.

y que el programa devuelva la matriz 'espiral' de dicho orden.k. cont++.fil>=k. Hacer un menú en el programa principal con las opciones que se han indicado y llamar a los procedimientos a partir de ese menú.} Osea.cont. //Nos creamos variables de tipo entero cont=1. } Se desea diseñar un sistema de reconocimiento de imágenes para un satélite. Además este menú se podrá ejecutar un número ilimitado de veces (hasta que el usuario introduzca 0).aux. for(fil=m-2-k. cont++. } col=n-1-k. //Inicializamos un contador for(k=0. for(fil=k. for(col=n-2-k.col<=n-1-k. no siendo puntos del borde. y y y y Diseñar un subalgoritmo que devuelva el valor más bajo de la imagen. Diseñar un algoritmo al que se le de una imagen y le sume el valor más bajo (usar la función del primer apartado) a todos los elementos de la misma. cont++. Diseñar un subalgoritmo que cree un vector con todos los colores utilizados en la imagen y otro vector con las veces que ha aparecido dicho color. excepto a aquellos que estén en el borde. El software asociado debe realizar distintos tipos de operaciones con imágenes almacenadas en matrices de m x n elementos. Diseñar un subalgoritmo que lea una imagen y muestre en pantalla las coordenadas de aquellos puntos que. for(col=k+1.col--) { mat[fil][col]=cont. } fil=m-1-k.col++) { mat[fil][col]=cont. } fil=k.fil--) { mat[fil][col]=cont. tienen un color por debajo de la media.col>=k+1. Además deberemos implementar las siguientes funciones: .int m) { int fil. } } return. Cada punto de la imagen está representado por un color codificado mediante un entero en el rango 0-255.k<m.fil++) { mat[fil][col]=cont. cont++.col. ¿Alguna idea para generar dicha matriz? public static void llenarmatrizcaracol(int mat[][].k++) { col=k. ingresar un entero (el orden de la matriz).fil<=(m-1-k).int n.

conocer el número de ocurrencias de una palabra. Ejemplo: C4 C3 C2 C1 S E N D M O R E ____________ M O N E Y El programa debe mostrar como resultado. Por cada línea del texto almacenar en el fichero llamado informacion un registro cuyos campos indiquen: Primera palabra en la línea.txt el texto original sin palabras repetidas. /* Ejercicio 104 Escribir un programa que solicite un año e indique si es bisiesto o no Un año es bisiesto si es múltiplo de 4 excluyendo aquellos que son múltiplo de 100 y no de 400. Eliminación de palabras repetidas. .txt. 2. El programa pregunta si debe agregar al principio. (Estos dos módulos también pueden incluírse en el menú). O=0. Mostrar matriz. Para el ejemplo los resultados serian: C1=1. Cifrarlo mediante el método de sustitución simple (utilizar como alfabeto del criptosistema el código ASCII). Leer cifrado. Es importante anotar que las letras solamente pueden tomar valores entre 0 y 9 y que no puede haber dos letras con el mismo valor. Leer el fichero sinrepetidas.206 que realice una estadística.y y Inicializar matriz.Los años exactamente divisibles entre 100 no son años bisiestos. hacer un programa que reciba estas tres cadenas y encuentre los valores para cada una de las letras de las cadenas para que la suma sea correcta. Tambien es necesario tener en cuenta que existe la posibilidad de que al sumar dos digitos. S=9. al final o en el medio y agrega el elemento a la lista. Número absoluto de línea.txt Estadística. */ Realizar un programa en pascal ISO-10. El resultado almacenarlo en un fichero de texto llamado cifrado.algoritmo que lea un numero entero positivo y determine el numero de digitos decimales necesarios para la representacion de dicho valor. E=5. estos generen un acarreo. C2=1. de las palabras que aparecen en texto. dejando la primera ocurrencia. verlas ordenadas alfabéticamente b. N=6.Los años exactamente divisibles entre 4 son años bisiestos.txt Descifrado. Cifrado. Guardar en el fichero sinrepetidas.txt y almacenar el código una vez descifrado en un fichero llamado descifrado. . obtener por pantalla el cifrado de cualquier línea de texto. R=8. 3. Número de página donde está la línea. *Escribir un programa que permita agregar nº enteros a una lista de números aceptada por teclado. un cifrado y descifrado de un texto leído desde el fichero texto. C4=1. M=1. Última palabra en la línea.*/ Citar Acceso a ficheros . C3=0. consultar la estadística almacenada en el fichero informacion. D=7. dado un número de filas y columnas (habrá un Máximo de filas y columnas que será constante).Los años exactamente divisibles entre 400 sí son años bisiestos. Y=2 3.txt : a. Número de palabras en la línea.txt El programa debe tener un menú donde el usuario pueda: 1.txt Dadas tres cadenas de caracteres. Por lo tanto a cada par de letras sumadas (menos al primer par) debe sumarseles 0 o 1 dependiendo de si existe o no acarreo. de tal manera que los resultados de la suma sean correctos. dos sumandos y la tercera que representa el resultado de dicha suma. una eliminación de palabras repetidas. . los valores para cada letra.

.a3.h> void main() { clrscr(). char s='A'...h> #include<stdlib.h> #include<conio....creo q puedes deducir la ley de formacion(no esta dificil eh) ayuda: 1 n n-1 n-2 . Pos pa entenderlo mejor: si n= 3 el cuadro quedaria asi: 1 2 3 3 1 2 2 3 1 Esta en funcion de las diagonales : para n 1)paso 1 1 ..... int c. while (s!='s' && s!='S') { . char respuesta[20]. 2 1 ->n-esima posicion Te das cuenta como colocarlos. max=2 pues crea un archivo en el que guarda en cada linea todas las palabras posibles desde la cadena a hasta la zz de la forma: Citar a b c . .x....de hehco que los pones en un arreglo.a2..Ejercicio 122 Escribir un programa que solicite palabras y las agrege a un fichero llamado c:\diccionario de forma que luego se puedan consultar las palabras una a una Vale..y. y así hasta zz Crear un programa en C que despliegue el cuadro latino dado un numero "n". Si deseas solo colocarlos. int a. 1 2)paso 1 2 1 2 3) 1 2 1 3 2 3 °->arrancas de aca 3 2 ->obs arrancas por aca 3 .. El término "n" se conoce como el orden del cuadro latino.. 3 2 1 ->n-esima posicion ->n-esima posicion 2->obs arrancas por aca . tal que todo símbolo aparece una sola vez en cada fila y en cada columna. ab ac ad .. int b[20][20]={0}. Ejemplo: min=1. Definición Un cuadro latino es un arreglo de "n" símbolos en "n2"celdas arregladas en un cuadrado de filas y columnas. lo q yo he hecho es un programa que pide al usuario la longitud mínima y maxima de la contraseña y crea todas las palabras posibles.a1. 2 pa ponerle limites "n" debe ser mayor de 1 (obvio) y menor de 21 para que no salga tan grusea la matriz #include<stdio..h> #include<string.

a2=0. scanf("%[^\n]".y++) { if (respuesta  ==char(y)) a2++. clrscr(). gotoxy(24. } } ==char(y)) } int z=2. a2=0.3). cprintf(" CUADRADO LATINO DE ORDEN \"n\""). fflush(stdin). clrscr().2). gotoxy(24. scanf("%[^\n]". getch().x<a.respuesta).5).7).x++) { for (y=48. gotoxy(2. } } while ((a2!=a1) || (a>19 || a<=1) || respuesta[0]=='0') { gotoxy(2.cprintf("N£mero (2-19):"). for (x=0. } [y]=z.y<=57. gotoxy(2.11-d).y++) { if (respuesta  a2++. gotoxy(2.y<=57.y++) { if (z>a) z=1.6).x<a. textcolor(LIGHTGRAY). a1=strlen(respuesta). textcolor(GREEN). } c=a*4/2.cprintf("EL DATO INTRODUCIDO ES INCORRECTO"). cprintf(" n = %d ".2).x<a1. a1=strlen(respuesta). gotoxy(2. a=atoi(respuesta).x<a1. for (x=0. for(y=0.respuesta).cprintf("Introduzca un n£mero para crear el cuadrado latino"). gotoxy(2. b  z++.x++) { textcolor(LIGHTRED).y<a. int d=a/2. gotoxy(2.a).x++) { for (y=48.10-d).cprintf("N£mero (2-19):").cprintf("PRESIONE ENTER").cprintf("EL DATO TIENE QUE SER UN NéMERO NATURAL MAYOR QUE 1 Y MENOR QUE 20").textcolor(LIGHTGRAY).cprintf("Introduzca un n£mero para crear el cuadrado latino"). for(x=0.3). fflush(stdin).x++) { z--. for(x=0. a=atoi(respuesta). .

gotoxy(3.12-d+x).Discover(6).Multiplicamos por dos los numeros de las posiciones imapres(4-3-4-1-0-9-7-5) y dejarlos con un solo digito. cprintf(" Ù").no sirev para sacar dinero por supuesto. textcolor(LIGHTGRAY). if (x==0) { gotoxy(40+c. } textcolor(LIGHTRED). Este es un ejercicio de C. cprintf("À"). cprintf(" ³"). Consiste en comprobar k una codificacion de tarjeta de credito es valida. } } SALIDA = S"). El 5 digito es el tipo de tarjeta e indica que entidad financiera gestiona esta tarjeta.24).13-d+x).american Expres(3). clrscr(). } if (x==a-1) { gotoxy(40+c.pero hay muchas paginas k t piden el numero de tarjeta solo para comprobar k eres mayor de edad. for( y=0.y<a.bastante simple k puede tener sus utilidades. } gotoxy(40-c. cprintf("CONTINUAR = ENTER s=getch().y++) { textcolor(LIGHTBLUE).14-d+x).Las mas importantes son Visa(4). cprintf("Ú"). Si tenemos el numero de la tarjeta 4539 4512 0398 7356 y keremos comprobar k es valido: 1.if (x==0) { gotoxy(40-c. Digito de control es el ultimo numero y se obtiene aplicando un algoritmo al resto del numero. cprintf(" ¿"). 4*2=8 3*2=6 4*2=81*2=2 0*2=0 9*2=18-->1+8=9 7*2=14--->1+4=5 5*2=10--->1+0=1 .b  [y]).asi k con este programita n tendras k meter tu numero de cuenta. cprintf("³"). los 10 digitos siguientes componen el numero de usuario e identifican a este de manera unica. } } textcolor(YELLOW).y si nos es valida t dice k numero tienes k cambiarle para hacerla valida.hay un numero diferente para cada banco(esto se busca en internet). la codificacion es la siguiente: El numero se compone de tres partes principales: Los 4 primeros digitos componen el identificativo del banco que cede la tarjeta.Master card(5).14-d+x). El formato es el siguiente 1111 2333 3333 3334 algoritmo de codificacion: Se realiza en tres pasos. cprintf("%3d ". } if (x==a-1) { gotoxy(40-c.12-d+x).

al numero ya ingresado le suma su numero invertido. int funcionbasex(int. do{ printf("ingrese un numero:"). Pretende-se um programa que auxilie a empresa a determinar a receita proporcionada pelos bilhetes dos passageiros transportados por um dado autocarro. 2 .3. a) Elabore uma procedimento que obtenha o numero de passageiros transportados por um dado autocarro e que efectue a leitura do destino (1.2.band. }while(n<0)..4). int funsuma(int). algoritmo que al ingresar un numero por pantalla. de acordo com a c) Um procedimento que mostra o número de passageiros transportados e a informação referente aos seus destinos.55 2 3.boolean. calcule a receita total e a percentagem de passageiros que vão até ao destino final. while(num!=0) { . main() { unsigned long int n. me salia en pantalla pow:domain #include<stdio. si el resultado es palindrome imprimir por pantalla 1paso.50 4 5.y palindrome(que se pueda leer de igual forma de izquieda a derecha .num. eje: este resultado tiene q ser 1234=4321 . int funacum(int). d) Elabore uma função que calcule e devolva a percentagem de passageiros que vai até ao destino final. onde são armazenados os destinos de cada um dos passageiros. for(basex=9.50] of integer. elabore um programa que obtenha o número de passageiros que o autocarro vai transportar.esto realizarlo en cualquier base. dde la 10 hasta la base 2. Uma empresa de viagens possui vários autocarros que efectuam percursos de longa distância. int funbase(int.3 ou 4) de cada um dos passageiros.basex>=2. scanf("%d". cualquie duda escribanme.int).basex. Para a resolução do problema considere a seguinte estrutura de dados: var autocarro:array[1.Vectores e Funções e Procedimentos 1. bem como a percentagem de passageiros que vão desde a origem até ao destino final (4).pasos.int).50 3 4. b) Elabore uma função que obtenha o destino de um passageiro e que calcule o preço do bilhete que seguinte tabela: Destino 1 2.00 Preço ¼ ¼ ¼ ¼ ele deve pagar.&n).h> #include<math. num=n. e) Utilizando as funções e os procedimentos elaborados nas alíneas anteriores.basex--) { band=1. yo lo hice pero no se porq no me compilo.v. siino ver en cuantos pasos es posible llegar a un numero palindrome . pois são efectuadas várias paragens até ser atingido o destino final (4).h> int funinv(int). os quais apenas podem entrar no ponto de partida do autocarro mas podem ter vários destinos (1. Deverá ser também indicado no monitor os lugares ocupados pelos passageiros que vão sair no primeiro destino (1). Cada autocarro pode transportar até 50 passageiros. int basex.

while(n!=0) { r=n%10.v=num%10. band=0. inv=(r+(inv*10)). num=num/10.n). }while(boolean==0). } } if((num1>=0)&&(num1<10)) { inv=num1. printf("funacumda:%d". do{ n=funacum(n). . if(v>=basex) { printf("base %d: ? pasos". boolean=funsuma(n). pasos=pasos+1. } } } /*------------------------------------------------------------------------*/ int funinv(int n) { int inv.r. printf("Base %d:%d pasos". n=n/10. } } /*printf("band:%d".num1. /*FUNCION PARA INVERTIR UN NUMERO*/ if(n>=10) { inv=0.band).basex).*/ /*hasta aqui compila bien*/ while(band==1) { pasos=0.basex.pasos). num1=n.

num1=n. a=funinv(n). } } if((num1>=0)&&(num1<10)) { inv=num1. } return(flag). sumabase=(funbase(n. } /*------------------------------------------------------------------------*/ /*FUNCION PARA PASAR DE BASE 10 A BASE X*/ int funcionbasex(int n. return(adicion).a. } else if(suma!=funinv(suma)) { flag=0.num1. /*SUMAS SUCESIVAS PARA VER LA COMPROBACION DE LOS PASOS*/ . } /*-------------------------------------------------------------------*/ int funacum(int n) { int adicion. while(n!=0) { h=n%basex. adicion=funcionbasex(sumabase.basex)). n=n/basex.basex)+funbase(a.int basex) { int inv. inv=h+inv*10.basex). } /*---------------------------------------------------------------------------*/ int funsuma(int suma) { int flag.h. } inv=funinv(inv). return(inv).} return(inv). if(n>=10) { inv=0. /*VERIFICACION DEL NUMERO PALINDROME*/ if(suma==funinv(suma)) { flag=1.sumabase.

sum=(sum+(T*a)). while(q!=0) { T[cont]=q%10.elhacker. } return(sum).} /*------------------------------------------------------------------------------*/ /*FUNCION PARA PASAR DE BASE x A BASE 10*/ int funbase(int q.i<=cont-1.html#ixzz1Q6HNvaeH . } http://foro. i.net/ejercicios/ejercicio_de_c-t40275.T[100].sum.i). for(i=0. q=q/10.i++) { a=pow(base1. cont=cont+1.0. cont=0.int base1) { int cont. } sum=0.a.

Sign up to vote on this title
UsefulNot useful