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

Slides:



Advertisements
Presentaciones similares
Arreglos.
Advertisements

Curso de java básico (scjp)
Estructura de Datos Unidad 4. Recursividad Dra. María Lucía Barrón Estrada Enero-Junio 2007.
Diseño de algoritmos “Estructuras”
Ayudantia Python Arreglos 2.
Repaso para la construcción del intérprete 2012
Funciones. Programación, Algoritmos y Estructuras de Datos.
INFORMATICA I Funciones CLASE 13.
Introducción al Lenguaje C (ANSI)
Ejercicios Fogueo.
Cont. Arbol Binario de Búsqueda
Programación II Colas Igor Santos Grueiro.
Introducción a la Programación “Ejercicios” Semestre de Otoño 2006 Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Ejercicios Fogueo. Ejercicio Fogueo for 1 ¿Qué muestra el siguiente código? for(int count=0; count
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
FUNCIONES Y PROCEDIMIENTOS
Diseño de algoritmos “Estructuras”
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Tema 3 Entrada y Salida.
LENGUAJE “C” Programación.
Semana 5 Subprogramas..
Tema 7c Entrada y salida de funciones. Funciones Funcion Entradas SalidasTareas.
Clase Teórica No. 4 Programación IV
Cadenas y apuntadores Programación.
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
3.  Recursividad.
1 3Tablas o matrices 3.1. Concepto Las tablas corresponden al concepto matemático de matriz. Todos sus elementos deben ser del mismo tipo y se accede a.
Introducción a la Programación “Ejercicios” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Algoritmos para Ordenar datos
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Árboles binarios de búsqueda
El lenguaje de programación C - Identificadores y variables – Isidro González Caballero ( Introducción.
Introducción a la Programación “Conceptos Básicos” Semestre de Otoño 2006 Claudio Gutiérrez Soto.
Computación II Repaso de java Karina Figueroa Mora.
Computación I Primer Semestre 2006 Capítulo IV Ciclos y Colecciones (con un sabor a algoritmos)
Introducción a la Programación “El lenguaje C” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Matrices y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Ejercicios de Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Estructuras de Datos Ejemplos Recursión.
Análisis de Algoritmos 2
Introducción a la Programación “Conceptos Básicos” Semestre de Otoño 2006 Claudio Gutiérrez Soto.
Ejercicios de Arreglos y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Introducción a la Programación “Conceptos Básicos” Semestre de Otoño 2006 Claudio Gutiérrez Soto.
Introducción a la Programación “Conceptos Básicos” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Introducción a la Programación “El lenguaje C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Introducción a la Programación “Vectores y Matrices” Semestre de Otoño 2006 Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Introducción a la Programación “Conceptos Básicos” Semestre de Otoño 2006 Claudio Gutiérrez Soto.
Ejercicios de Arreglos y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Determinantes cálculo de determinantes
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
ALGORITMOS Y ESTRUCTURAS DE DATOS Operaciones sobre cadenas de caracteres y Funciones LIA. Suei Chong Sol.
Determinantes cálculo de determinantes
LENGUAJE “C” Programación.
Ejemplos: float R[10] = {2, 32, 4.6, 2, 1, 0.5, 3, 8, 0, 12}; float S[] = {2, 32, 4.6, 2, 1, 0.5, 3, 8, 0, 12}; int N[] = {1, 2, 3, 6}; int M[][3] = {
Entrada y Salida ES.leerChar (); ES.leerEntero (); ES.leerEnteroLargo (); ES.leerFloat (); ES.leerDouble (); System.out.print System.out.println.
Fundamentos de Programación
ARREGLOS (arrays).
Capítulo 2 “Subprogramas/Funciones - Arreglos”
Ingeniería en Software Facultad de Ingeniería 2014
Introducción a la Programación Orientada a Objetos Arreglos de 2 dimensiones TDA Matriz Implementar un TDA Matriz que brinde operaciones para calcular.
Algoritmo.
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
ARREGLOS O ARRAYS.
ALGEBRA CON VECTORES Y MATRICES Uso de MatLab.
Uso de MatLab. Introducción El entorno de trabajo de MatLab El Escritorio de Matlab (Matlab Desktop) El menú inicio Command Window Command History Browser.
SOLUCION DE EJERCICIO N°15 SOLUCION EJERCICIO N°17.
Arreglos y cadenas de texto
Transcripción de la presentación:

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.

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.

Solución 1 int CuentaPalabras(char arreglo[]) { int i,cont,pal; for(i=0,cont=0,pal=0; arreglo[i]!=‘\0’;i++) { if(arreglo[i]!=‘ ‘ && arreglo[i]!=‘.’ && arreglo[i]!=‘;’) pal++; // Aquí vamos contando los caracteres de una palabra else if(pal!=0) { cont++; // aquí contamos las palabras pal=0; } else continue; } if(pal!=0) return(cont+1); else return(cont); }

Ejercicio 2 Crear una función que copie de una cadena a otra a partir del i-ésimo elemento.

Solución 2 void CopiarIesimo(char cadenaDest[ ],int iesimo, char cadenaO[ ]) { int i,j=0; for(i=iesimo; cadenaO[i]!='\0' ; i++,j++) cadenaDest[j]=cadenaO[i]; cadenaDest[j]='\0'; }

Ejercicio 3 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

Solución 3 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]; } Observe que aquí no es necesario dejar explícito la primera dimensión de una matriz. De hecho un en un vector multidimensional, la primera dimensión nunca se expresa

Ejercicio 4 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.

Solución 4 int VerificaIguales(int arr1[], int arr2[],int N) { int i,j,encontrado,stop; for(i=0,stop=0;i<N && !stop;i++) { for(j=0,encontrado=0; j<N ;j++) { if(arr1[i]==arr2[j]) encontrado=1; else continue; } if(encontrado==0) stop=1; else continue; } return(!stop); } Fíjese que cuando hablamos de vectores (no de cadenas), es necesario recibir como parámetro la dimensión del arreglo

Ejercicio 5 Crear una función que determine si una cadena es una subcadena de otra cadena. Si la cadena de menor tamaño es una subcadena, entonces la función retorna 1, sino 0.

Solución 5 int 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); }