ejercicios de arreglos y funciones “en c”
DESCRIPTION
Ejercicios de Arreglos y Funciones “En C”. Semestre de Otoño 2006. Claudio Gutiérrez-Soto. Destrezas Esperadas. Solucionar un problema utilizando funciones, sin preocuparse de su implementación. Utilizar algunas funciones incorporadas en C, para el manejo de cadenas. Ejercicios 1. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/1.jpg)
Ejercicios de Arreglos y Funciones“En C”
Semestre de Otoño 2006
Claudio Gutiérrez-Soto
![Page 2: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/2.jpg)
Destrezas Esperadas
Solucionar un problema utilizando funciones, sin preocuparse de su implementación.
Utilizar algunas funciones incorporadas en C, para el manejo de cadenas
![Page 3: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/3.jpg)
Ejercicios 1
Crear una función que cuente cuántas palabras tiene una cadena. La cadena puede estar separada por espacios, puntos y puntos y comas.
![Page 4: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/4.jpg)
Solución 1
int CuentaPalabras(char arreglo[]){ int i,cont; for(i=0,cont=0,pal=0; arreglo[i]!=‘\0’;i++) if(arreglo[i]!=‘ ‘ && arreglo[i]!=‘.’ && arreglo[i]!=‘;’) pal++; else if(pal!=0) { cont++; pal=0; } else continue;
if(pal!=0) return(cont+1); else return(cont);}
![Page 5: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/5.jpg)
Ejercicio 2
Crear una función que calcule la transpuesta de una matriz de 5x5:
Ejemplo, de una matriz de 3x3
a b c a d g
d e f = b e h
g h i c f i
![Page 6: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/6.jpg)
Solución 2
void Traspuesta(int matriz[][5])
{ int MatAux[5][5],i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
MatAux[j][i]=matriz[i][j];
for(i=0;i<5;i++) for(j=0;j<5;j++) matriz[i][j]=MatAux[i][j];
}
![Page 7: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/7.jpg)
Ejercicio 3
Crear una función que determine si dos arreglos contienen los mismos elementos. Considere que los arreglos pueden estar desordenados. Los arreglos pueden ser de cualquier tamaño.
![Page 8: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/8.jpg)
Solución 3int VerificaIguales(int arr1[], int arr2[],int indice)
{ int i,j,encontrado,stop;
for(i=0,stop=0;i<indice && !stop;i++)
{ for(j=0,encontrado=0;j<indice && !encontrado;j++)
if(arr1[i]==arr2[j])
encontrado=1;
else continue;
if(encontrado==0)
stop=1;
else continue;
}
return(!stop);
}
![Page 9: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/9.jpg)
Ejercicio 3
Crear una función que determine si una cadena es una subcadena de otra cadena.
![Page 10: Ejercicios de Arreglos y Funciones “En C”](https://reader036.vdocumento.com/reader036/viewer/2022082400/56814c52550346895db96429/html5/thumbnails/10.jpg)
Solución 3int SubCadena(char cad[], char Sub[])
{ int i,LCad,LSub; char CadAux[20];
LCad=largo(cad);
LSub =largo(Sub);
if(LSub<=LCad)
{ for(i=0;cad[i]!=‘\0’;i++)
if(cad[i]==Sub[0])
{ Copiar_Iesimo(cad,i,CadAux);
if(Comparar(CadAux,Sub))
return(1);
else continue;;
}
else continue;
return(0);
}else return(0);
}