Universidad Nacional Autónoma de México Facultad de Estudios Superiores Cuautitlán INFORMÁTICA
Informática II. Organizaciones de archivos y estructuras de datos
Profesora María Araceli Nivon Zaghi
COMPENDIO 10 EJERCICIOS
Jasso González Patricia Urban Rodríguez Romina
Grupo:2203
Fecha de entrega: 31 de marzo de 2017
Universidad Nacional Autónoma de México Facultad de Estudios Superiores Cuautitlán Campo 4 Lic. Informática MANIPULACIÓN DE CADENAS 1. Realiza prueba de este programa #include<stdio.h> int main (){ char c, cad[10], clave[]="aBx12"; int i=0; do{ fflush(stdin); c=getch(); putch('*'); cad[i]=c; i++; }while(i<5); cad[i]='\0'; printf("La Cadena es%\n",cad); puts(clave); system("PAUSE"); return 0; }
#include<stdio.h> #include<stdlib.h> #include int main(){ char c,cad[10],clave[]="aBx12"; int i=0; do { fflush(stdin); c=getchar(); putch('*'); cad[i]=c; i++; }while(i<5);
cad[i]='\0'; printf("La Cadena Es: %s \n",cad); puts(clave); system("PAUSE"); return 0; }
RAM
Este programa hace: este programa tiene 2 cadenas en la cual 1 ya tiene definido un valor y dentro de un do while se ingresa el valor a la otra cadena usando getchar para solo guardar la primera letra y mandando a imprimir la cadena tal cual se ingresó y la que estaba definida. 2. Realizar un programa para checar coincidencia de password #include<stdio.h> main(){ char claveadivinar[10] ,clavetecleada[10]; strcpy(claveadivinar, "aBx12"); printf("Introduce la clave "); gets(clavetecleada); if(strcmp(claveadivinar, clavetecleada)==0){ printf("Clave correcta"); }else{ printf("clave incorrecta"); } getch(); return 0; }
3. Dado un texto en una cadena, realiza las siguientes: “Nombre del alumno: Edad: Curso: Pago: “ #include<stdio.h> #include<string.h> #include<stdlib.h> int main (){ char na[19]={"nombre del alumno:"},nombre[20], e[6]={"edad:"}, c[10]={"curso:"},p[6]={"pago:"},curso[15]; int i,edad; float pago; printf("\n Ingresa tu nombre :\t"); scanf("%s",&nombre); printf("\n Ingresa tu edad :\t"); scanf("%d",&edad); printf("\n Ingresa tu curso :\t"); scanf("%s",&curso); printf("\n Ingresa tu pago :\t"); scanf("%f",&pago); printf("%s %s \n",na,nombre); printf("%s %d \n",e,edad); printf("%s %s \n",c,curso); printf("%s %f \n",p,pago); system("PAUSE"); return 0; }
Este programa hace: Se declararon 4 cadenas con un valor definido para que a su vez se pidieran los datos como nombre, edad, curso y pago para después unirlas con su correspondiente cadena.
4. Saber si un texto es palíndromo // ============================================================================ // EJERCICIO // Detectar cuando una palabra introducida es un palindromo (se lee igual de // izquierda a derecha, que de derecha a izquierda). Por ejemplo: Ana, arenera, // oso, radar, reconocer, rotor, salas, seres, somos, sometemos,etc. // ============================================================================
#include <stdio.h> const int no = 10; // Declarar constante: tamaño array main(){ char palabra[no]; int i,j,k,palindromo = 1; // Asignar valores iniciales al array for(i=0;i<no;i++){ if (i != no-1) { palabra[i] = '0'; }else{ palabra[i] = '\0'; } } printf("\nIntroduzca la palabra: "); scanf("%s",&palabra); printf("\nPalabra introducida: %s ",palabra); // Contar letras int noletras = 0; for(i=0; i<no; i++){ if (palabra[i] != '\0'){ noletras = noletras + 1; }else { break; } } printf("\nLa palabra introducida tiene %d letras",noletras); int first = 0; // Indice de la primera letra int last = noletras - 1; // Indice de la ultima letra
while (first < last){ if (palabra[first] != palabra[last]){ palindromo = 0; } ++first; --last; } if (palindromo == 1){ printf("\nLa palabra introducida es un palindromo."); }else{ printf("\nLa palabra introducida no es un palindromo."); } return 0; }
5. Suponer el siguiente texto: “los herrores de ortografía son muy feos” #include <stdio.h> #include <string.h> #include int main(){ char cad[50]="los herrores de ortografia son myy feos"; int n, i, a; printf("Dice: \n"); printf("%s \n\n",cad); n=strlen(cad); for(i=0;i
} if(cad[i]=='y'){ cad[i]='u'; if(cad[i-1] =='u'){ cad[i]='y'; } } } printf("Debe decir:\n"); puts(cad); printf("\n\n"); getch(); return 0; }
Este programa hace: Dentro del programa se declara un arreglo con una cadena asignada, para que a su vez dentro de un for y un if hacer la comparación de cada índice para poder hacer el cambio de la h a un espacio vacío , así sucesivamente con la letra u y y para corregir los errores de la cadena. 6. Escribir un texto de forma vertical #include<stdio.h> #include<stdlib.h> int main(){ char cadena[25]; int i; for(i=0;i<25;i++){ cadena[i]=' '; } printf("Escribe un texto de forma vertical \n"); printf("Ingresa un texto menos de 25 caracteres: \t"); gets(cadena); printf("\n"); for(i=0;i<25;i++){ printf("%c \n",cadena[i]); } system("PAUSE"); return 0; }
7. Escribir un texto de forma diagonal #include<stdio.h> #include<stdlib.h> int main(){ char cadena[25]; int i,j; for(i=0;i<25;i++){ cadena[i]=' '; } printf("Escribe un texto de forma Diagonal \n"); printf("Ingresa un texto menos de 25 caracteres: \t"); gets(cadena); printf("\n"); for(j=0;j<25;j++){ for(i=0;i<j+1;i++){ printf(" "); } printf("%c",cadena[j]); printf("\n"); } system("PAUSE"); return 0; } 8. Del texto “la baca vuelve a dar leche” reemplazar todas las b por v. #include<stdlib.h> #include<stdio.h> #include int main (){ char texto[27]={"la baca buelve a dar leche"}; int i; printf("Frase incorrecta: \n"); printf("%s \n",texto); for(i=0;i<27;i++){ if(texto[i]=='b'){ texto[i]='v';
} } printf("Frase correcta: \n"); printf("%s \n",texto); getch(); return 0; }
Este programa toma un arreglo que tiene ingresada una cadena de caracteres para meterlo en un for y cambiar la letra (b) por (v) haciendo uso de un for. 9. Del programa #include <stdio.h> int main(){ char c1,c2,c3; c1=getch(); c2=getche(); c3=getchar(); printf("como funciona cada una??%c%c%c\n",c1,c2,c3); system("PAUSE"); return 0; } getch() lee la letra desde teclado pero no la escribe en pantalla. getche() lee la letra desde teclado, la escribe en pantalla y no permite que el usuario la borre. getchar() lee la letra desde teclado, la escribe en pantalla y permite que el usuario la elimine. Las variables getch() y getche() guardan el primer carácter ingresado por el usuario, excepto getchar() ya que este guarda el carácter más actual, es decir, si el usuario escribe “c”, lo borra y luego escribe “f” este último carácter es el que se guarda en la variable.
10. Capturar este programa #include <stdio.h> #include<windows.h> COORD coord={0,0}; void gotoxy(int x,int y); int main(){ char cTecla, car='&'; int x,y; gotoxy(1,1); do{ if(kbhit()){ cTecla=getch(); switch(cTecla){ case 13: x++; y=1; break; case 72: y--; break; case 80: y++; break; case 75: x--; break; case 77: x++; break; } gotoxy(x,y); putch(car); } }while(cTecla!=27); return 0; } void gotoxy(int x, int y){ coord.X=x; coord.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord); }