Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arquivos e Diretórios |
Escreva um programa C++ para ordenar as linhas de um arquivo texto em ordem alfabética - Desafio de Programação Resolvido em C++Quantidade de visualizações: 62 vezes |
Pergunta/Tarefa: Escreva um programa C++ para ordenar as linhas de um arquivo texto em ordem alfabética. Seu código deverá abrir um arquivo texto, ordenar suas linhas em ordem alfabética e salvar o resultado em outro arquivo texto. Sua saída deverá ser parecida com: Conteúdo do arquivo: MARIO SANTOS REIS ALBERTO SANTIAGO GOMES INES DE SOUZA MAGALHAES CARLOS THIAGO SANTOS ROBERTO CARLOS SILVA REIS BEATRIZ MARIA CASTRO As linhas foram escritas em ordem alfabética com sucesso. Conteúdo do arquivo: ALBERTO SANTIAGO GOMES BEATRIZ MARIA CASTRO CARLOS THIAGO SANTOS INES DE SOUZA MAGALHAES MARIO SANTOS REIS ROBERTO CARLOS SILVA REIS Veja a resolução comentada deste exercício usando C++: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- // vamos precisar da biblioteca de entrada e saída #include <iostream> // vamos precisar também da biblioteca de fluxo de arquivos #include <fstream> // vamos precisar do contêiner vector para adicionar as linhas de texto #include <vector> // vamos usar o algorítmo sort #include <algorithm> // e vamos usar um iterador também #include <iterator> using namespace std; // uma função para exibir o conteúdo das linhas do arquivo void exibir_conteudo_arquivo(const string &nome_arquivo) { // nome do arquivo quer será aberto ifstream arquivo(nome_arquivo); // para receber cada uma das linhas do arquivo texto string linha; // o arquivo foi aberto com sucesso? if (arquivo.is_open()) { cout << "Conteúdo do arquivo:\n" << endl; // vamos ler as linhas do arquivo while (getline(arquivo, linha)) { cout << linha << endl; } // vamos fechar o arquivo arquivo.close(); } else { cout << "Não foi possível abrir o arquivo." << endl; } } // função principal do programa int main(int argc, char *argv[]) { // arquivo de entrada ifstream arquivo_entrada("nomes.txt"); // arquivo de saída ofstream arquivo_saida("nomes_ordenados.txt"); // os arquivos foram abertos com sucesso? if (arquivo_entrada.is_open() && arquivo_saida.is_open()) { exibir_conteudo_arquivo("nomes.txt"); // um vector para guardar as linhas do arquivo de de entrada vector<string> linhas; // para guardar as linhas individuais do arquivo string linha; // vamos ler todas as linhas de texto do arquivo de entrada while (getline(arquivo_entrada, linha)) { // adiciona esta linha ao vetor linhas.push_back(linha); } // vamos ordenar as linhas em ordem alfabética sort(linhas.begin(), linhas.end()); // agora vamos gravar o vector de linhas no arquivo de saída copy(linhas.begin(), linhas.end(), ostream_iterator<string>(arquivo_saida, "\n")); // vamos fechar os arquivos de entrada e saída arquivo_entrada.close(); arquivo_saida.close(); cout << "\nAs linhas foram escritas em ordem alfabética com sucesso.\n" << endl; exibir_conteudo_arquivo("nomes_ordenados.txt"); } else { cout << "Não foi possível abrir os arquivos de entrada e saída." << endl; } cout << "\n\n"; return EXIT_SUCCESS; } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
MySQL - Como adicionar uma chave primária a uma tabela MySQL usando o comando ALTER TABLE ADD PRIMARY KEY Delphi - Como calcular MDC em Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |