ejercicios resueltos en c++ parte 1

28
Ingeniería de Sistemas UPEA UNIVERSIDAD PÚBLICA Y AUTÓNOMA DE EL ALTO FACULTAD DE INGENIERÍA CARRERA INGENIERÍA DE SISTEMAS MATERIA INTRODUCCION A LA PROGRAMACIÓN Por: Vidal Coronado Mamani [email protected] Site Web:_ http://www.sistemascoronado.tk El Alto – La Paz Bolivia EJERCICIOS RESUELTOS >> ARITMETICA << Ejercicio 1: Mostrar los múltiplos de 3 comprendidos entre los números 1 y 20 Ejercicio 2: Hallar A+B-C+100 Ejercicio 3: Obtener (a-b)(a+b) Ejercicio 4: Leer un numero de 3 digitos y sumarlos Ejercicio 5: Dado un numero verificar: - Que tenga dos dígitos - Verificar si sus dígitos son pares - Promediar sus dígitos Ejercicio 6: Dado un numero verificar si es positivo, negativo o nulo Ejercicio 7: Dados seis numeros enteros determinar, el menor de ellos >> SERIES << Ejercicio 8: hallar la sumatoria de: 2! + 4! + 6! + 8! + ... Ejercicio 9: Generar la serie: 1, 5, 3, 7, 5, 9, 7, ..., 23 Ejercicio 10: Generar 5,10,15,20,25,30,35....n Ejercicio 11: Si n=7 generar 7,6,5,4,3,2,1 >> VECTORES << Ejercicio 12: 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] Ejercicio 13: Dado un polinomio evualuarlo en el punto x (todo en un vector) >> MATRICES << Ejercicio 14: Generar la matriz: [01][02][03][04] [08][07][06][05] [09][10][11][12] Ejercicio 15: Generar la matriz: By Vidal Coronado M. versión 17/01/22 1 de 28

Upload: angel-alx-elizalde

Post on 24-Apr-2015

525 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

UNIVERSIDAD PÚBLICA Y AUTÓNOMA DE EL ALTOFACULTAD DE INGENIERÍA

CARRERA INGENIERÍA DE SISTEMASMATERIA INTRODUCCION A LA PROGRAMACIÓN

Por: Vidal Coronado [email protected]

Site Web:_ http://www.sistemascoronado.tkEl Alto – La Paz

Bolivia

EJERCICIOS RESUELTOS

>> ARITMETICA <<

Ejercicio 1: Mostrar los múltiplos de 3 comprendidos entre los números 1 y 20Ejercicio 2: Hallar A+B-C+100Ejercicio 3: Obtener (a-b)(a+b) Ejercicio 4: Leer un numero de 3 digitos y sumarlosEjercicio 5: Dado un numero verificar: - Que tenga dos dígitos - Verificar si sus dígitos son pares - Promediar sus dígitosEjercicio 6: Dado un numero verificar si es positivo, negativo o nuloEjercicio 7: Dados seis numeros enteros determinar, el menor de ellos

>> SERIES <<

Ejercicio 8: hallar la sumatoria de: 2! + 4! + 6! + 8! + ...Ejercicio 9: Generar la serie: 1, 5, 3, 7, 5, 9, 7, ..., 23Ejercicio 10: Generar 5,10,15,20,25,30,35....nEjercicio 11: Si n=7 generar 7,6,5,4,3,2,1

>> VECTORES <<

Ejercicio 12: Dado el vector T de tamao n. Si el tamao es par invertir los elementos de la mitad de los elementosEjemplo: v=[1][2][3][4][5][6] v(invertido)=[3][2][1][6][5][4]Ejercicio 13: Dado un polinomio evualuarlo en el punto x (todo en un vector)

>> MATRICES <<

Ejercicio 14: Generar la matriz: [01][02][03][04] [08][07][06][05] [09][10][11][12]Ejercicio 15: Generar la matriz: [01][02][03][04] [05][06][07][00] [08][09][00][00] [10][00][00][00]Ejercicio 16: Dadas dos matrices A y B intercambiar los minimos de A con los maximos de BEjercicio 17: Dada una matris cuadrada invertir su diagonal principalEjercicio 18: Dada una matris cuadrada invertir su diagonal secundariaEjercicio 19:Dada dos matrices de diferentes tamanios R y S mostrar los elementos comunes de R en S

By Vidal Coronado M. versión 11/04/23 1 de 23

Page 2: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

Ejercicio 20: Intercambiar los datos de la columna 1 con la ultima columnaEjercicio 21: Contar el numero de digitos de cada elemento de una matrizEjercicio 22: Hallar la fila y la columna del primer elemento "e"

>> MATRICES y VECTORES<<

Ejercicio 23: Dada una matris y un vector, contar la cantidad de numeros primos de ambosEjercicio 24: Dada la matriz de m*n y el vector de tamanio n, determinar que columna de la matriz es igual al vectorEjercicio 25: Dada una matris Z almacenar en un vector A la suma por sus columnasy en un vector B la suma por sus filas

SOLUCIONES

Ejercicio 1:

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

Ejercicio 2:

#include <stdio.h>#include <conio.h.>int main (){ int A, B, C; printf("Inserte valor para A: "); scanf("%d",&A); printf("Inserte valor para B: "); scanf("%d",&B); printf("Inserte valor para C: "); scanf("%d",&C); printf("\n%d + %d - %d + 100 = %d",A, B, C, (A+B+C-100)); getch();}

Ejercicio 3:

#include <stdio.h>#include <conio.h>int main (){ int a, b;

By Vidal Coronado M. versión 11/04/23 2 de 23

Page 3: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

printf("Inserte valor a: "); scanf("%d",&a); printf("Inserte valor b: "); scanf("%d",&b); printf("(%d-%d) (%d+%d) = %d",a, b, a, b,((a-b)*(a+b))); getch();}

Ejercicio 4:

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

Ejercicio 5:

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

Ejercicio 6:

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

By Vidal Coronado M. versión 11/04/23 3 de 23

Page 4: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

int main (){ int numero; printf("Inserte un numero: "); scanf("%d",&numero); if(numero==0) printf("El numero %d es NULO",numero); else { if(numero<0) printf("El numero %d es NEGATIVO",numero); else printf("El numero %d es POSITIVO",numero); } getch();}

Ejercicio 7:

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

Ejercicio 8:

#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 (){

By Vidal Coronado M. versión 11/04/23 4 de 23

Page 5: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 9

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

Ejercicio 10

#include<stdio.h>#include<conio.h>int main (){ int n, c=1, serie=5; printf("Cantidad de terminos: "); scanf("%d",&n); while(c<=n) { printf("%d,",serie); serie+=5; c++; } getch();}

Ejercicio 11:

#include<stdio.h>#include<conio.h>int main (){

By Vidal Coronado M. versión 11/04/23 5 de 23

Page 6: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

int n, c=1; printf("Cantidad de terminos: "); scanf("%d",&n); int serie=n; while(c<=n) { printf("%d,",serie); serie--; c++; } getch();}

Ejercicio 12:

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

By Vidal Coronado M. versión 11/04/23 6 de 23

Page 7: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 13:

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

By Vidal Coronado M. versión 11/04/23 7 de 23

Page 8: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 14:

#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) { for (int j=1;j<=c;j++) { M[i][j]=k; k++; } } else { for (int j=c;j>=1;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 (){

By Vidal Coronado M. versión 11/04/23 8 de 23

Page 9: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 15:

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

Ejercicio 16:

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

void llenar (int M[20][20], int f, int c)

By Vidal Coronado M. versión 11/04/23 9 de 23

Page 10: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

{ 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++)

By Vidal Coronado M. versión 11/04/23 10 de 23

Page 11: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

{ 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 A: "); scanf("%d",&fa); printf ("Insert columnas de A: "); scanf("%d",&ca); printf ("Insert filas de B: "); scanf("%d",&fb); printf ("Insert columnas de 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();}

Ejercicio 17:

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

void llenar (int M[20][20], int d){ for (int i = 1 ; i <= d ; i++) {

By Vidal Coronado M. versión 11/04/23 11 de 23

Page 12: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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 = 1 ; i <= d / 2 ; i++) { int aux = M [i] [i]; M [i] [i] = M [d] [d]; M [d] [d] = aux; fin--; }}

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

Ejercicio 18:

#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++)

By Vidal Coronado M. versión 11/04/23 12 de 23

Page 13: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

{ 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 = 1 ; i <= d / 2 ; i++) { int aux = M [i] [d]; M [i] [d] = M [d] [i]; M [d] [i] = aux; fin--; }}

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

Ejercicio 19:

#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++)

By Vidal Coronado M. versión 11/04/23 13 de 23

Page 14: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

{ 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 R: "); scanf("%d",&fr); printf("Inserte columnas de R: "); scanf("%d",&cr); printf("Inserte filas de S: "); scanf("%d",&fs); printf("Inserte columnas de S: "); 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 : ");

By Vidal Coronado M. versión 11/04/23 14 de 23

Page 15: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 20:

#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");

By Vidal Coronado M. versión 11/04/23 15 de 23

Page 16: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 21:

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

By Vidal Coronado M. versión 11/04/23 16 de 23

Page 17: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 22:

#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) {

By Vidal Coronado M. versión 11/04/23 17 de 23

Page 18: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 23:

#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] ) }

By Vidal Coronado M. versión 11/04/23 18 de 23

Page 19: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

}}

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]); }}

int primosMatris (int M[20][20], int f, int c){ int cant = 0; for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { int cc = 0; for (int k = 1 ; k <= M [i] [j] ; k++) { if (M [i] [j] % k == 0) cc++; } 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);

By Vidal Coronado M. versión 11/04/23 19 de 23

Page 20: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

}

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

Ejercicio 24:

#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++)

By Vidal Coronado M. versión 11/04/23 20 de 23

Page 21: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

{ 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) printf ("\n\nLa columna %d es igual al vector",i); }}

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");

By Vidal Coronado M. versión 11/04/23 21 de 23

Page 22: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

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

Ejercicio 25:

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

By Vidal Coronado M. versión 11/04/23 22 de 23

Page 23: Ejercicios Resueltos en c++ Parte 1

In

ge

ni

er

ía

de

Si

st

em

as

U

PE

A

}

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 POR COLUMNAS DE LA MATRIS (vector A): \n"); vectorA (Z, f, c, A, c); mostrarVector (A, c); printf ("\n\nSUMA POR FILAS DE LA MATRIS (vector B): \n"); vectorB (Z, f, c, B, f); mostrarVector (B, f); getch();}

By Vidal Coronado M. versión 11/04/23 23 de 23