Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Atividade referente a aula III,IV e V 
 
 
 
 
Desenvolva um programa em C++ que trabalhe com arquivos de texto e manipulação 
de matrizes por meio de um menu interativo com três opções: ABRIR, SALVAR e 
FECHAR. 
O objetivo é permitir que o usuário carregue uma matriz de um arquivo, realize 
cálculos sobre ela e grave os resultados em outro arquivo. 
1. Menu principal 
O programa deve exibir continuamente um menu com as opções: 
1 – ABRIR 
2 – SALVAR 
3 – FECHAR 
 O usuário escolhe digitando o número correspondente. 
 Após executar a opção desejada, o menu reaparece, exceto quando a opção FECHAR 
for escolhida. 
2. Opção ABRIR 
 Solicitar ao usuário o nome de um arquivo .txt a ser aberto (ex.: matriz.txt). 
 Esse arquivo contém: 
1. A primeira linha no formato tamanho:N, indicando que a matriz é quadrada 
de ordem N. 
2. Em seguida, N linhas com N números inteiros cada, sem espaços, 
representando cada linha da matriz. 
Exemplo de arquivo: 
tamanho:3 
123 
123 
123 
 O programa deve: 
1. Ler o valor de N. 
2. Alocar dinamicamente uma matriz de inteiros de dimensão N x N. 
3. Converter cada caractere numérico em inteiro e armazená-lo na matriz. 
3. Opção SALVAR 
 Requer que uma matriz já tenha sido carregada com a opção ABRIR. 
 Executa os seguintes cálculos: 
 Maior valor da matriz. 
 Multiplicação dos elementos da diagonal principal (posições [i][i]). 
 Soma dos elementos da diagonal secundária (posições [i][N-1-i]). 
 Cria um novo arquivo chamado resultado_matriz.txt (ou outro nome 
informado pelo usuário) contendo: 
Maior: 
Multiplicação Diagonal Principal: 
Soma Diagonal Secundária: 
Exemplo: 
Maior: 3 
Multiplicação Diagonal Principal: 6 
Soma Diagonal Secundária: 7 
4. Opção FECHAR 
 Libera toda a memória alocada para a matriz. 
 Encerra o programa de forma segura. 
 
R: 
#include 
#include 
#include 
#include 
using namespace std; 
 
// Estrutura global para armazenar a matriz 
vector> matriz; 
int tamanho = 0; 
bool carregada = false; 
 
// Função para abrir e carregar a matriz do arquivo 
void abrir() { 
 string nomeArquivo; 
 cout > nomeArquivo; 
 
 ifstream arqEntrada(nomeArquivo); 
 
 if (!arqEntrada.is_open()) { 
 cout (tamanho, 0)); 
 
 for (int i = 0; i > nomeSaida; 
 
 int maiorElemento = matriz[0][0]; 
 long long produtoDiagPrincipal = 1; 
 int somaDiagSecundaria = 0; 
 
 for (int i = 0; i maiorElemento) { 
 maiorElemento = matriz[i][j]; 
 } 
 } 
 
 produtoDiagPrincipal *= matriz[i][i]; 
 somaDiagSecundaria += matriz[i][tamanho - 1 - i]; 
 } 
 
 ofstream arqSaida(nomeSaida); 
 
 if (!arqSaida) { 
 cout > opcao; 
 
 switch (opcao) { 
 case 1: 
 abrir(); 
 break; 
 case 2: 
 salvar(); 
 break; 
 case 3: 
 fechar(); 
 break; 
 default: 
 cout

Mais conteúdos dessa disciplina