Subido por jonathan mota

Ejercicios de programacion resueltos

Anuncio
#include <stdio.h>
#include <stdlib.h>
#include "header.h"
/*Ingrese un texto de hasta 255 caracteres terminados
por el signo $.Imprima el texto modificando la letra a
por la letra x. Imprima el texto modificado y luego el
texto original.*/
void ejercicio_1( void){
int contador = 0;
char charac;
char cad[ DIMENSION ], cad_modif[ DIMENSION ] ;
printf("ingrese un texto de hasta 255 caracteres incluyendo $ para terminar: ");
gets(cad);
charac = cad [ contador ];
// leo la primer letra fuera del bucle
while ( (contador < DIMENSION ) && ( charac != '$' ) ){
if ( charac == 'a'){
cad_modif[contador] = 'x';
}else{
cad_modif[contador] = charac;
}
contador++;
charac;
= cad[ contador ]
}
puts(cad_modif);
puts(cad);
}
_____________________________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"
#define TRUE 1
#define FALSE 0
/*Ingrese un texto e imprímalo con las vocales en
mayusculas*/
/*recibe una letra y devuelve 1 si es vocal, de lo contrario devuelve 0*/
int es_vocal_min( char letra){
char vocales [] = {'a','e','i','o','u'};
for ( int i = 0; i < 5 ; i++ ){
if ( vocales[i] == letra ) return TRUE; // si encuentra vocal minuscula devuelve true
}
return FALSE;
}
void ejerc_2( void){
int posic = 0;
char cadena[ DIMENSION ];
puts("Ingrese un texto de hasta 255 caracteres ");
gets(cadena);
while ( posic < strlen( cadena ) ){
if ( es_vocal_min( cadena[posic] ) ) {
cadena[posic] = toupper(cadena[posic]) ; //se que es vocal y es min, paso a
mayus y lo guardo en la misma posic
}
posic++;
}
puts(cadena); //imprimo la cadena
}
_________________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"
#define TRUE 1
#define FALSE 0
/*Ingrese un texto e imprímalo con la primer letra de
cada palabra en mayúscula*/
void ejerc_3 (void){
int largo, posic=0;
char texto[DIMENSION];
int es_primera;
puts("Ingrese un texto:(hasta 255 caracteres) ");
gets(texto);
largo = strlen(texto);
while (posic < largo ){
es_primera = FALSE; // al comenzar se asume que no es la primera letra de una
palabra
if (texto[ posic ] != ' ') {
if ( posic == 0) es_primera = TRUE;
else if
( texto[ posic-1 ] == ' ' ) es_primera = TRUE;
}
if ( es_primera) texto[ posic ] = toupper( texto[ posic ] );
posic++;
}
puts(texto);
}
___________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"
#define DIM 5
/*Ingrese un texto de hasta 5 caracteres e imprima en
forma de espejo.*/
void ejerc_4( void){
char palabra[DIM] , espejo[DIM+1];
int posic = 0, largo;
puts( "Ingrese una palabra de hasta 5 caracteres:");
gets(palabra);
largo = strlen(palabra) ;
while ( posic < largo) {
printf("\n iteracion numero %i", posic);
espejo[ largo - posic - 1 ] = palabra [posic] ;
printf("\n el caracter guardado es %c en posicion %i \n",palabra [posic], largo - posic
- 1 );
posic++;
}
espejo[posic]='\0';
puts(palabra);
puts(espejo);
}
_______________________________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"
#define TRUE 1
#define FALSE 0
/*5. Ingrese un palabra de hasta 5 caracteres e indique si es palindromo */
void ejerc_5 ( void) {
char palabra[5];
int es_palindromo = TRUE, largo, posic = 0;
puts( "Ingrese una palabra de hasta 5 caracteres:" );
gets( palabra );
largo = strlen(palabra);
while ( ( posic < largo/2 ) && (es_palindromo) )
{
if ( palabra[ posic ] != palabra[ largo - posic - 1] ) es_palindromo = FALSE;
posic++;
}
if( es_palindromo) puts( "es palindromo!!!111");
}
__________________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"
#define TRUE 1
#define FALSE 0
/* devuelve true si la letra del argumento es una vocal, de lo contrario devuelve false */
int es_vocal( char letra){
char vocales[] = {'a','e', 'i', 'o' , 'u'} ;
for (int i = 0 ; i< 5 ; i++){
if ( tolower( letra ) == vocales[i]) return TRUE;
}
return FALSE;
}
/*Ingrese un texto e imprima la cantidad de letras
consonantes y de vocales utilizadas.*/
void ejerc_6( void){
char texto[DIMENSION];
int vocales = 0, consonantes = 0,posic = 0;
puts( "Ingrese un texto: (hasta 255 caracteres )" );
gets( texto );
while ( posic < strlen(texto) ){
if ( texto[ posic ] != ' ') {
if ( es_vocal( texto[posic] )) vocales++;
else consonantes++;
}
posic++;
}
printf ("\n hay %i consonantes y %i vocales", consonantes, vocales);
}
_____________________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"
/*Ingrese un texto e imprima la cantidad de palabras.*/
void ejerc_7( void) {
char texto [DIMENSION];
int cant_palabras = 0 , posic = 0, largo ;
puts( "Ingrese un texto:");
gets (texto);
largo = strlen( texto );
while (posic < largo ){ //hago una comparacion menos pues con el ult char no puedo
ver que hay a la der de el
if (texto[ posic ] != ' ') {
if ( posic == 0) cant_palabras++;
else if ( ( texto[ posic-1 ] == ' ' ) && ( texto[ posic+1 ] != ' ') )cant_palabras++;
else if (( texto[ posic-1 ] == ' ') && ( texto[ posic+1 ] == ' ')) cant_palabras++;
}
posic++;
}
printf (" La cantidad de palabras son %i ", cant_palabras);
}
_________________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"
#define TRUE 1
#define FALSE 0
/*Ingrese un texto y encríptelo sumando a cada letras
5. (recuerde que trabajamos con los valores de la
tabla ascii en hexa)*/
void ejerc_8(void){
char texto[DIMENSION];
int charac_cifrado;
puts("ingrese un texto:");
gets (texto);
for (int i = 0 ; i< strlen(texto) ; i++) {
charac_cifrado = texto[i] + 5;
if (charac_cifrado > 255) charac_cifrado -= DIMENSION;
texto[i] = charac_cifrado;
}
puts (texto);
}
Descargar