Programação de Computadores - 18 de Abril de 2016
Exercícios
5) Crie um programa em C++ que realize a leitura de 3 números presentes em um arquivo e, em seguida, grave no mesmo arquivo os três números em ordem crescente.
6) Crie um programa em C++ que realize a leitura de 3 números presentes em um arquivo e, em seguida, grave em um outro arquivo os três números em ordem crescente.
7) Crie um programa em C++ que realize a leitura de 20 números presentes em um arquivo chamado dadosOriginais.txt e separe os números lidos em 3 arquivos de forma que um deles tenha apenas os números pares (numPares.txt), o segundo tenha apenas os números ímpares (numImpares.txt) e o terceiro tenha apenas números primos (numPrimos.txt).
8) Crie um programa em C++ para realizar a leitura de 5 palavras (com tamanhos diferentes) gravadas em um arquivo texto e em seguida exibir na tela a maior e a menor palavra. Dica: utilize o método length() de uma string para obter o tamanho da palavra.
Correção dos exercícios da última aula:
Respostas da professora
Questão 1)
# include <iostream>
# include <fstream>
int main(){
int num, I;
int soma;
soma=0;
// gravando 10 números em um arquivo
ofstream grava ("arq.txt");
for (I=1; I<=10;I++){
cout<<"Informe 10 números"<<endl;
cin>>num;
grava<<num<<endl; // o endl joga o próximo número para uma linha abaixo.
} // fechamento do for
gravaa.close();
// lendo os 10 números e acumulando a soma
ifstream lendo ("arq.txt");
for (I=1;I<=10;++){
lendo>>num;
soma=soma+num;
} // fechamento do for
lendo.close();
cout<<"A soma dos 10 números é: "<<soma<<endl;
} // fechamento do int main
Questão 2)
int main() {
int num, I, contpar=0,contimpar=0;
// gravando 10 números em um arquivo
ofstream gravando ("dados.txt");
cout<<"Informe 10 números."<<endl;
for(I=1;I<=10;I++){
cin>>num;
gravando<<num<<endl;
} // fechamento do for
gravando.close();
// lendo 10 números de um arquivo e contando os pares e ímpares
ifstream leitura ("dados.txt");
for (I=1;I<=10;I++){
leitura>>num;
if (num%2==0){
contpar=contpar+1;
cout<<"número par "<<num<<endl;
} // fechamento do if
else{
contimpar=contimpar+1;
cout<<"número ímpar "<<num<<endl;
} // fechamento do else
} // fechamento do for
leitura.close();
cout<<"A quantidade de números pares é: "<<contpar<<endl;
cout<<"A quantidade de números ímpares é: "<<contimpar<<endl;
return 0;
} // fechamento do int main
Respostas dos exercícios
Questão 5 - Resposta minha - testada no CodeBlocks - funcionando
# include <iostream>
# include <fstream>
using namespace std;
int main() {
// declarando as variáveis
int i;
int ium;
int idois;
int itres;
int num;
// zerando as variáveis
i=0;
ium=0;
idois=0;
itres=0;
num=0;
// realizar a leitura do arquivo
ifstream leitura ("arq.txt");
for (i=1;i<=3;i++){
leitura>>num;
if (i==1){
ium=num;
} // fechamento do if
if (ium>num) {
itres=idois;
idois=ium;
ium=num;
} // fechamento do if
if (ium<num && idois>num) {
itres=idois;
idois=num;
} // fechamento do if
if (ium<num && idois<num){
itres=num;
} // fechamento do if
} // fechamento do for
// fechando a função de leitura
leitura.close();
// gravando os três números em ordem crescente
ofstream grava ("arq.txt");
for (i=1;i<=3;i++){
if (i==1){
grava<<ium<<endl;
} // fechamento do if
if (i==2){
grava<<idois<<endl;
} // fechamento do if
if (i==3){
grava<<itres<<endl;
} // fechamento do if
} // fechamento do for
// fechando a função de gravação
grava.close();
// explicando na tela que o arquivo foi reorganizado
cout<<"O arquivo foi reorganizado em ordem crescente."<<endl;
return 0;
} // fechamento do int main
Lucas T R Freitas
Nenhum comentário:
Postar um comentário