Ir ao conteúdo
  • Cadastre-se

C++ Linguagem C++ (apenas) *Importante


Blossom

Posts recomendados

Oi. Sou iniciante em programação e preciso de ajuda com uma atividade. O exercício pede que escreva um programa que leia todo o conteúdo de dois arquivos denominados ex3a.txt e ex3b.txt e salve, em um novo arquivo denominado ex3c.txt, os caracteres dos 2 primeiros arquivos em ordem alfabética.

 

A ú nica coisa que eu sei fazer é este código que imprime a frase do arquivo txt na tela para o usuário:

 

#include <iostream>
#include<fstream>
using namespace std;

int main()
{
    ifstream fin ("ex3a.txt");
    char letra;
    while (fin.get(letra))
        cout.put(letra);

}

 

mas não tenho ideia de como ler dois arquivos juntos e gravar em um terceiro arquivo. Aceito sugestão de livros ou exemplos de um programa que leia um arquivo e grave em outro. 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Juliana.Gomes disse:

os caracteres dos 2 primeiros arquivos em ordem alfabética

 

letra a letra de fato? Não linha a linha em ordem alfabética?

 

Ler e gravar os arquivos é similar. Se leu um pode ler muitos, e gravar é igual. Apenas para gravar declare como fluxo de saída e use as chamadas certas. E use algo como um vetor para salvar o conteúdo deles, já que precisa por em ordem antes de começar a gravar na saída.

Link para o comentário
Compartilhar em outros sites

@arfneto Obrigada pelo retorno. Eu consegui fazer o código para que imprimisse na tela para o usuário os arquivos ex3a.txt e ex3b.txt, gravar no arquivo ex3c.txt, porém não tenho ideia de como gravar os dos arquivos letra por letra em ordem alfabética no terceiro arquivo. Penso eu que tenha que mexer nessa parte:

       for (int k=0; k<i-1; k++)
    {
        fout << vetor1[k];
    }
    fout << endl;
    for (int k=0; k<j-1; k++)
    {
        fout << vetor2[k];
    }
    fout.close();

 

onde gravo no arquivo ex3c.txt as palavras ou frases dos arquivos ex3a.txt e ex3b.txt.


Se puder sugerir algum método eu ficarei muito agradecida pela sua ajuda. 

Link para o comentário
Compartilhar em outros sites

Olá, Juliana!

Você pode usar vetores do tipo char para salvar o conteúdo do ex3a.txt e ex3b.txt, e concatená-los em um terceiro vetor.

Após isso, o algoritmo sort da biblioteca algorithm ordena números ou caracteres de um vetor. Portanto:

 

Citação

#include <algorithm> // Biblioteca do sort

...

...

...

int tam = strlen(vetor_concatenado); // precisaremos saber o tamanho do vetor
sort(vetor_concatenado, vetor_concatenado+tam); // ordenando

 

E em seguida, é só criar/atribuir ao arquivo ex3c.txt.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!