Buscar

Exercicios Resolvidos - Strings

Prévia do material em texto

01) 1. Leia 10 nomes dentro de um enquanto. Apresente:
 O nome mais longo;
 O nome mais curto;
 Quantidade de nomes que terminam com a letra 'A';
 Quantidade total de vogais digitadas;
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main ()
{
 char nome[50]; //String para os nomes
 char nome_maior[50];//String para o maior nome informado
 char nome_menor[50]; //String para o menor nome informado
 int n_nome_A = 0; //Variavel para a qtde de nomes que terminam com A
 int n_vogal = 0; //Variavel para o total de vogais
 int i, j=0;
 //Lendo o primeiro nome
 cout<<"\nInforme um nome : ";
 gets(nome);
 //inicializando o maior e o menor nome
 strcpy(nome_maior, nome);
 strcpy(nome_menor, nome);
 //Verificando se o nome termina em A
 if(nome[strlen(nome)-1] == 'a' || nome[strlen(nome)-1] == 'A')
 n_nome_A ++;
 //Contando a quantidade de vogais no nome
 for(i = 0; i < strlen(nome); i++)
 {
 if(nome[i] == 'a' || nome[i] == 'e' || nome[i] == 'i' || nome[i] == 'o' || nome[i] == 'u' || nome[i] == 'A' || nome[i] == 'E' || nome[i] == 'I' || nome[i] == 'O' || nome[i] == 'U')
 n_vogal++;
 }
 //Laço para ler 9 nomes
 while( j < 9 )
 {
 //Lendo o nome
 cout<<"\nInforme um nome : ";
 gets(nome);
 //Verificando se o nome lido eh maior que o atual
 if(strlen(nome) > strlen(nome_maior))
 strcpy(nome_maior, nome);
 else
 {
 //Verificando se o nome lido eh menor que o atual
 if(strlen(nome) < strlen(nome_menor))
 strcpy(nome_menor, nome);
 }
 //Verificando se o nome termina em A
 if(nome[strlen(nome)-1] == 'a' || nome[strlen(nome)-1] == 'A')
 n_nome_A++;
 //Somando as vogais do nome
 For (i = 0; i < strlen(nome); i++)
 {
 If (nome[i] == 'a' || nome[i] == 'e' || nome[i] == 'i' || nome[i] == 'o' || nome[i] == 'u' || nome[i] == 'A' || nome[i] == 'E' || nome[i] == 'I' || nome[i] == 'O' || nome[i] == 'U')
 n_vogal++;
 }
 j++;
 }
 //Mostrando os resultados
 cout<<"\nMenor Nome: "<<nome_menor;
 cout<<"\nMaior Maior: "<<nome_maior;
 cout<<"\nQtde de nomes que terminam com A: "<<n_nome_A;
 cout<<"\nQtde total de vogais nos nomes: "<<n_vogal;
 cout<<endl;
 return 0;
}
02) 2. Leia uma frase e apresente-a novamente em minúsculo.
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main ()
{
 char frase[50]; //String para a frase
 //Lendo a frase
 cout<<"\nInforme uma frase : ";
 gets(frase);
 //Convertendo a frase para minusculo
 strlwr(frase);
 //Mostrando a frase
 cout<<"\nFrase em minusculo: "<<frase;
 cout<<endl;
 return 0;
}
03) 3. Fazer um programa para concatenar duas strings lidas do usuários. A segunda string
deve ser concatenada na primeira.
Exemplo: string1: sol string2: lua
após concatenar string1: sollua string2: lua
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main ()
{
 char string1[41]; //Primeira String
 char string2[21]; //Segunda String
 //Lendo a primeira string
 cout<<"\nInforme a primeira string com no máximo 20 caracteres : ";
 gets(string1);
 //Lendo a segunda string
 cout<<"\nInforme a segunda string com tambem no máximo 20 caracteres : ";
 gets(string2);
 //Concatenando as strings
 strcat(string1, string2);
 //Mostrando as strings contatenadas
 cout<<"\nStrings Concatenadas: "<<string1;
 cout<<endl;
 return 0;
}
04) 4. Fazer um programa para ler uma frase e ver quantas vezes um determinado
caractere aparece na frase. Esse caractere deve ser lido do usuários.
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main ()
{
 char frase[100]; //Frase
 char caracter; //Caracter a ser buscado da frase
 int cont = 0; //Qtde de ocorencias do caracter na frase
 //Lendo a frase
 cout<<"\nInforme uma frase : ";
 gets(frase);
 //Lendo o caracter
 cout<<"\nInforme o caracter a ser buscado na frase : ";
 cin>>caracter;
 for(int i = 0; i < strlen(frase); i++)
 {
 if(frase[i] == caracter)
 cont ++;
 }
 //Mostrando os resultados
 cout<<"\nO caracter "<<caracter<<" aparece na frase "<<cont<<" vezes";
 cout<<endl;
 return 0;
}
05) 5. Escreva um programa que receba uma string do teclado e a exiba invertida.
Exemplo:
Entrada à MARIA BONITA
Saída à ATINOB AIRAM
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main ()
{
 char str[100]; //String a ser lida
 char str_inv[100]; //String invertida
 int i, j; //Indices
 //Lendo a string
 cout<<"\nInforme a string : ";
 gets(str);
 //Criando a string invertida
 for(i = 0, j = strlen(str) - 1; i < strlen(str); i++, j--)
 str_inv[j] = str[i];
 //Colocando o caracter delimitador na string invertida
 str_inv[strlen(str)] = '\0';
 //Mostrando os resultados
 cout<<"\nString Invertida: "<<str_inv;
 cout<<endl;
 return 0;
}

Outros materiais