Tema- Laboratorio de Estructuras de Datos y Algoritmos
Enviado por champs12 • 24 de Agosto de 2016 • Tarea • 1.944 Palabras (8 Páginas) • 272 Visitas
Laboratorio de Estructuras de Datos y Algoritmos
Práctica 2:
Aplicaciones de apuntadores
[pic 3]
Equipo No:4
Dorantes Mejia Emmanuel
Escajeda Ríos André
Jiménez Vázquez Raúl Enrique
Moreno Guerra Marco Antonio
Fecha de realización:
19/02/2016
Fecha de entrega:
26/02/2016
Práctica 2.
Aplicaciones de Apuntadores
Realice los siguientes programas usando apuntadores en lenguaje C. Incluya el código fuente y captura de pantallas del programa funcionando.
- Utilizando un arreglo de caracteres como máximo de 50 y manejando apuntadores a caracteres, identificar si una frase es palíndroma (se lee de derecha a izquierda y de izquierda a derecha de la misma forma). Se leerá una línea completa, es decir, incluyendo los espacios en blanco y el NULO, para identificar el final de la cadena, al darle la tecla de ENTER.
Se quitaran los espacios en blanco de la cadena original y se deberá de manejar un apuntador al inicio de la cadena (I) y otro al final (F) e ir comparando si los caracteres a los cuales apunta, son iguales, posteriormente I avanza al segundo elemento del arreglo y F retrocede al penúltimo elemento y así hasta que se comparen todos los caracteres del arreglo o hasta que encuentre que no son iguales los caracteres comparados.
La entrada será, la cadena original.
La salida será la cadena sin espacios en blanco y el mensaje adecuado indicando si fue palíndroma o no fue palíndroma.
- Se desea realizar el cifrado de transposición simple de una cadena de caracteres, que tendrá como máximo 50 elementos, para realizar el algoritmo se utilizaran dos apuntadores uno al inicio de la cadena (I) y otro al final (F) y utilizando el operador * (indica el contenido de lo que apunta), el mensaje cifrado, se almacenará en otro arreglo.
El algoritmo de cifrado es poner en la cadena nueva, el primer y último carácter del mensaje original, después el segundo y penúltimo carácter y así sucesivamente, hasta terminar de analizar todos los caracteres de la cadena, incluyendo los espacios en blanco.
Ejemplo:
Entrada: anita
Salida: aanti
- Se desea realizar el cifrado de transposición doble (aplicación doble de transposición simple) de una cadena de caracteres, que tendrá como máximo 50 elementos, para este programa se utilizará el mismo algoritmo del ejercicio anterior. Se debe declarar y definir una función que genere la transposición simple y usarla para la transposición doble.
Ejemplo:
Entrada anita
Primera salida de transposición simple: aanti
Segunda salida de transposición doble: aiatn
1. /*EDA1,Gpo20,Practica 2,Ejercicio 1*/
#include
int main()
{
char arreglo[50];
char arreglo2[50];
int i,j=0, dimension=0,palabra;
char *apArreglo,*apArreglo2;
system("color 6F");
printf("\nEscriba una frase, para verificar si es palindromo\n\n");
scanf("%[^\n]", arreglo);
for(i=0;i<50;i++)
{
if(*(arreglo+i)=='\0')
{
dimension=i;
break;
}
}
printf("\nDimension de la frase: %d\n", dimension);
for(i=0;i<=dimension; i++)
{
if(*(arreglo+j)==' ')
{
j++;
*(arreglo2+i)=*(arreglo+j);
j++;
}
else
{
*(arreglo2+i)=*(arreglo+j);
j++;
}
}
printf("\nCadena sin espacios: %s\n", arreglo2);
for(i=0;i<50;i++)
{
if(*(arreglo2+i)=='\0')
{
dimension=i;
break;
}
}
printf("\nDimension de la frase sin espacios: %d\n\n", dimension);
apArreglo=&arreglo[0];
apArreglo2=&arreglo2[dimension-1];
for(i=0;i<=dimension; i++)
{
if(*(apArreglo)!=*(apArreglo2))
{
palabra=1;
break;
...