Programação de Computadores - 27 de Abril de 2016
Exercício:
Crie um programa que realize a leitura de 20 números inteiros em um arquivo chamado "dadosoriginais.txt" e separe os números lidos em dois arquivos de forma que um deles tenha os números pares e o segundo apenas os números ímpares.
Exercício:
Crie um programa para realizar a leitura de 5 palavras (com tamanhos diferentes) gravada em um arquivo texto e em seguida exibir na tela a maior e menor palavra.
Dica: utilize o método length de uma string para obter o tamanho.
Exemplo: if (palavra.length()<...)
Resposta do primeiro exercício (resposta minha - testada no CodeBlocks)
# include <iostream>
# include <fstream>
# include <cstdlib>
using namespace std;
int main() {
// declarando as variáveis
int num, i, verificaprimo, contadivisores;
// zerando as variáveis
num=0;
i=0;
verificaprimo=0;
contadivisores=0;
ifstream lendo ("dadosoriginais.txt");
ofstream gravapares ("numerospares.txt");
ofstream gravaimpares ("numerosimpares.txt");
ofstream gravaprimos ("numerosprimos.txt");
for (i=1;i<=20;i++){
lendo>>num;
// vendo se o número é impar
if (num%2==1){
gravaimpares<<num<<endl;
} // fechamento do if
// verificando se o número par
if (num%2==0){
gravapares<<num<<endl;
} // fechamento do if
// verificando se o número é primo
for (verificaprimo=1;verificaprimo<=num;verificaprimo++){
if (num%verificaprimo==0){
contadivisores++;
}
} // fechamento do for
// Verificando se o número é primo
if (contadivisores==2){
gravaprimos<<num<<endl;
}
// zerando os verificadores de números primos
verificaprimo=0;
contadivisores=0;
} // fechamento do for
lendo.close();
gravaimpares.close();
gravapares.close();
gravaprimos.close();
// informando que o programa foi executado
cout<<"O programa foi executado. Numeros impares gravados. Numeros pares gravados. Numeros primos gravados."<<endl;
system("Pause");
return 0;
} // fechamento do int main
Resposta do segundo exercício (resposta minha - testada no CodeBlocks)
# include <iostream>
# include <fstream>
# include <cstdlib>
using namespace std;
int main() {
// declarando as variáveis
int i;
string palavra, palavramenor, palavramaior;
// zerando as variáveis
i=0;
ifstream lendo ("Lerpalavras.txt");
for (i=1;i<=5;i++){
lendo>>palavra;
// vendo se o número é impar
if (i==1){
palavramaior=palavra;
palavramenor=palavra;
} // fechamento do if
// verificando se o número par
else {
if (palavramaior.length()<palavra.length()){
palavramaior=palavra;
}
if (palavramenor.length()>palavra.length()){
palavramenor=palavra;
}
} // fechamento do else
} // fechamento do for
// informando o resultado
cout<<"A maior palavra é;"<<palavramaior<<endl;
cout<<"A menor palavra é;"<<palavramenor<<endl;
system("Pause");
return 0;
} // fechamento do int main
Correção da professora
Resposta da primeira questão
#include <iostream>
#include <fstream>
using namespace std;
int main(){
int num, I;
ifstream lendo ("dadosoriginais.txt");
ofstream grava1 ("pares.txt");
ofstream grava2 ("impares.txt");
for (I=1;I<=20;I++){
lendo>>num;
if(num%2==0){
grava1<<num<<endl;
} // fechamento do if
else{
grava2<<num<<endl;
} // fechamento do else
} // fechamento do for
lendo.close();
grava1.close();
grava2.close();
} // fechamento do int main
Resposta da segunda questão
#include <iostream>
#include <fstream>
using namespace std;
int main(){
string palavra = " ";
string maior=" ", menor=" ";
int i;
ifstream arqpalavras("palavras.txt");
for(i=1;i<=5;i++){
arqpalavras>>palavra;
if(palavra.length()>maior.length() || i==1){
maior=palavra;
} // fechamento do if
if(palavra.length()<menor.length() || i==1){
menor=palavra;
} // fechamento do if
} // fechamento do for
cout<<"Maior"<<maior<<endl;
cout<<"Menor"<<menor<<endl;
arqpalavras.close();
return 0;
} // fechamento do int main
Lucas T R Freitas
Nenhum comentário:
Postar um comentário