Instituto Superior de Formacién Técnica N° 177 Prof: Walter Camero
PROGRAMACION 1 - EJERCICIOS RESUELTOS (Matrices y Fuciones)
El presente apunte contiene ejercicios resueltos en los cuales se utilizan, para su
resolucién, arregios unidimensionales (vectores) y bidimensionales (matrices). Ademds se
plantean soluciones mediante la utilizacion de funciones realizando pasajes por valor y
por referencia.
Resuelto N° 1: Se cargan datos a una matriz de enteros de 3x4, se pide informar:
a. Los datos cargados en la matriz.
b. Promedio general.
c. Porcentaje de positivos.
d. Sumatoria de los NV pares ingresados en la matriz.
¥include
¥include
¥include
void main() {
int m(3] (41, £,c,cpos=0, sumpar=0;
float pro 0
de
"Ingrese datos: "7
£<3; £44) {
po>m[£] [cli
sum=sum+m[£] [¢]s
if(m[£] [c] >
cpos=cpostl;
1
if ((m[£] [c]#
// Se calcula el promedio general
cpos*100)/12; // Se calcula el porcentaje de
positivos
cout<<"Los N ingresados en la matriz son: "<
¥include
void main() {
char mat [4] [4], aux;
int cuenta=0,f,cr
clrscr();
cout<<"Ingrese 16 caracteres: ";
for (f=0;$<4; f+) {
For (c=0;c<4;c++) {
cin>>mat[£] [cl 7
if ( (mat [£] [¢.
cuenta++;
tat) || (mat [£] [c]
AN) 4
pE--)
for (c=0;cmat [0] [c+1]){ //Se ordena la primer fila
aux=mat [0] (cl;
mat [0] [c]=mat [0] [c+];
mat [0] [c+1]=aux;
c]>mat [3] [c+1]){ //Se ordena la tltima fila
(3)
mat [3
}
1
}
cout<<"Matriz con la primer y £ltima fila ordenadas: "<
include
void main() {
int mat [5] (5],£,c7
elrscr()7
cout<<"Ingrese datos a la matriz: ";
for (£=0;£<5; £++) {
Ope<5rett) (
fllc
cout<
#include
void DatosCli();//Prototipo de funcién
void main() (
clrser();
cout<>apell[f];
cout<>nom(£] 7
cout<>edad[£];
cout<>dni[£]7
}
cout<>catl;
cout<<"Ingrese cateto 2: "s
cin>>cat2;
i tagoras (cat1, cat.
cout<<"La hipotenusa del tri ngulo es: ";
cout<
#include
define dim &
int BuscaVal(int v[], int);//prototipo de funcion
void main() {
int vector [dim],x, valor;
elrser()7
cout<<"Ingresar 8 N enteros: ";
for(int i=0;i>vector [ils
+
cout<<"Ingrese un N a buscar en el vector: "7
cin>>es
valor=BuscaVal (vector, x);
if(valor=-1) (
Programacién I= Ejercicios Resueltos 4Instituto Superior de Formacién Técnica N° 177 Prof: Walter Camero
cout<<"valor encontrado! !!";
cout<<"No se encontro valor! !!";
getch();
int BuscaVal(int v[],int val) (
for(int i=O;i
¥include
void CargarMat ()7
int SumaFilaPar(int mat(](3]);
int mat [4] [3],f,cz //Declaracién de variables globales
void main() (
clrser();
CargarMat ();
cout<<"La sumatoria de las filas pares es: "<>mat[£] [c] 7
int SumaFilaPar(int mat([] (31)
int suma=0;
for (£ $2) (
for (c=07c<3;c++) {
suma=suma+mat [£] [¢]7
,
return (suma);
+
Resuelto N° 8: Se ingresan datos a dos vectores de caracteres mediante la funcion void
CargaYec(); escribir la funcion int Compara(char vecl[}, char vec2[J); la cual indicara si las
cadenas de caracteres ingresadas mediante la funcién Carga¥ec() son iguales 0 no.
Programacién I Ejercicios Resueltos 5Instituto Superior de Formacién Técnica N° 177 Prof: Walter Camero
include
include
¥include
¥define dim 10
void CargaVec()i
int Compara(char vecl[], char vec2[], int, int);
char vi(dim],v2(diml;
int 11,12;
void main(){
int x;
elrser();
cargavec ()
ompara (v1, v2,11,12);//Se pasa v1,
if (x==0){
cout<<"Las palabras no son iguales";
,
else{
cout<<"Palabras iguales";
)
getch()
)
void Cargavec() {
cout<<"Ingrese una palabra (m ximo 10 caracteres c/u):
cin>ovl;
coutv2;
Llestrlen (v1);
L2estrlen (v2);
y las longitudes de ambos
}
int Compara(char vecl[], char vec2(], int lenl, int len2
int cuenta=0;
{
if (lenl==len2){ // Se comparan para ver si la longitud es la misma
for(int i=0;ic=Llenl;it+) (
if(vecl [i]==vec2 (i]){
cuentat+
}
}
)
else{
return (0);
}
return (cuenta) ;
Programacién I Ejercicios Resueltos 6