ALGUEM PODERIA ME AJUDAR EM UM CODIGO EM C? DA MINHA RECUPERAÇAO DE PROVA DE ALGORITIMOS?
25/11/2021
0
01.) FAZER um programa para:
- definir uma função para determinar se os valores
no arranjo estão em ordem decrescente;
- ler e armazenar dados de um arranjo do arquivo DADOS1.TXT;
- se não estiverem, colocá-los em ordem decrescente,
antes de regravar os dados no arquivo DECRESCENTE.TXT,
colocando a quantidade de elementos na primeira linha do arquivo.
DICA: Para ordenar usar o princípio de troca dos elementos vizinhos
que não estiverem ordenados, e testar novamente usando a função,
até que não seja necessário fazer mais trocas.
OBRIGADO PESSOAL
- definir uma função para determinar se os valores
no arranjo estão em ordem decrescente;
- ler e armazenar dados de um arranjo do arquivo DADOS1.TXT;
- se não estiverem, colocá-los em ordem decrescente,
antes de regravar os dados no arquivo DECRESCENTE.TXT,
colocando a quantidade de elementos na primeira linha do arquivo.
DICA: Para ordenar usar o princípio de troca dos elementos vizinhos
que não estiverem ordenados, e testar novamente usando a função,
até que não seja necessário fazer mais trocas.
OBRIGADO PESSOAL
Bielmarques23
Curtir tópico
+ 1
Responder
Posts
26/11/2021
Emerson Nascimento
vou passar uma parte: a ordenação decrescente usando o princípio de troca dos elementos vizinhos.
o conteúdo do vetor (se for dinâmico) e a gravação dos arquivos ficam com você.
o conteúdo do vetor (se for dinâmico) e a gravação dos arquivos ficam com você.
#include <stdio.h> void OrdenaDecrescente(int *vetor, int tamanho); int main() { int valores[] = {6, 7, 10, 4, 9, 1, 5, 2}; // conteúdo fixo, mas você pode solicitar ao executar o programa int i; int n = sizeof(*(&valores)) / sizeof(*valores); printf("TAMANHO DO VETOR: %d\\n", n); printf("ANTES da função\\n"); for (i=0;i<n;i++) { printf("Valor do vetor[%d] = %d\\n",i, valores[i]); } OrdenaDecrescente( valores, n ); printf("DEPOIS da função\\n"); for (i=0;i<n;i++) { printf("Valor do vetor[%d] = %d\\n",i, valores[i]); } return 0; } void OrdenaDecrescente(int *vetor, int n) { int i,j,aux,troca; for (i=n-1;i>0;i--) { troca = 0; for (j=0;j<i;j++) { if (vetor[j] < vetor[j+1]) { aux = vetor[j]; vetor[j] = vetor[j+1]; vetor[j+1] = aux; troca = 1; } } if (troca == 0) break; // se não houve troca, sai, porque todos os elementos já foram ordenados } }
Responder
26/11/2021
Leticia Lima
Oie Tudo bem ? Emerson Nascimento já resolver a parte de deixar em ordem decrescente.
vou deixar um exemplo aqui sobre gravar os dados em um arquivo pra você.
Espero ter ajudado.
vou deixar um exemplo aqui sobre gravar os dados em um arquivo pra você.
#include <iostream> #include <conio.h> #include <vector> using namespace std; int main(){ int quant, i,j; float grade[i]; int cont; printf("%i", n); FILE *pont_arq; pont_arq = fopen("DADOS1.txt", "w"); // testa se o arquivo foi realmente preenchido if(pont_arq == NULL){ printf("Erro na abertura do arquivo!"); return 1; } // digita a quantidade de valores que vamos armazenar no vetor printf("Quantidades de valores da lista:"); scanf("%i", &quant); printf("%i\\n", quant); // Inserir os valores no vetor for(cont=0 ; cont<quant ; cont++){ cout<<"Insira valor "<<cont+1<<": "; cin >> grade[cont]; } printf("\\n"); // Grava as informações no DADOS.txt printf("Vetor antes da ordenação: \\n"); for(int i=0;i<quant;++i) { printf("%0.f\\n", grade[i]); fprintf(pont_arq, "%0.f\\n", grade[i]); } printf("\\n"); fclose(pont_arq); printf("DADOS1 gravados com sucesso!"); printf("\\n"); }
Espero ter ajudado.
Responder
Clique aqui para fazer login e interagir na Comunidade :)