Ejercicios de Arreglos y Funciones “En C”

10
Ejercicios de Arreglos y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez- Soto

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 Presentation

Transcript of Ejercicios de Arreglos y Funciones “En C”

Page 1: Ejercicios de Arreglos y Funciones “En C”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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

}