segunda-feira, 18 de abril de 2016

Programação de Computadores - 18 de Abril de 2016

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: