Informática, perguntado por alessandropjl3101, 1 ano atrás

faça um algoritmo que obriga a pessoa a digitar 5 numeros não repetidos e primos, e armazene-os no vetor x de 5 posições, e logo após classifique-os em ordem crescente linguagem c

Soluções para a tarefa

Respondido por bokomoko
0
Parece simples, mas não é


#include <stdio.h>#include <stdlib.h>#define LIMIT 5 /* número máximo de entradas*/int eh_prim( int numero){  int eh = 1;  int i;  for (i=2;i<=(numero/2);i++){      eh *= (numero%i !=0);  }  return eh;}int repetiu( int vetor[], int a_buscar) {  int tem = 0;  int i;  for (i=0;i<LIMIT;i++) {       tem += (vetor[i]==a_buscar);  };  return ( tem);};void bubble_sort( int vetor[]) {  int passou;  int i,j,aux;  do {    passou = 1;    for (i=0;i<LIMIT-1;i++){       for (j=i+1;j<LIMIT;j++){         if (vetor[i]>vetor[j]){             passou = 0;             aux = vetor[j];             vetor[j] = vetor[i];             vetor[i] = aux;         }       }    }  } while(!passou);  return;  }    void main(){  int *numeros ;  int quantos;  int auxiliar;  int i;  quantos = 0;  numeros = malloc(sizeof(int)*LIMIT);  auxiliar =1;  while(quantos < LIMIT && auxiliar ) {    printf("Ainda temos %d vagas. Digite um número qualquer ou 0 para terminar",LIMIT-quantos);    scanf("%d", &auxiliar);    printf("Usuário digitou %d \n",auxiliar);    if (auxiliar) {      if (repetiu( numeros, auxiliar)){          printf("Lamento mas esse número já foi digitado. Tente outro \n");      }      else if (!eh_prim(auxiliar)){          printf("Lamento mas esse número não é primo. Tente outro \n");      }      else{        numeros[quantos++] = auxiliar;      }    }    else {        printf("entrada terminada pelo usuário \n");    }  };
  auxiliar = 1 ;  printf("\n");  printf("Eis o vetor \n");  for (i=0;i<LIMIT;i++){      printf("Posiçao %d contém o número %d \n",i,numeros[i]);  };  bubble_sort(numeros);  printf("\n");  printf("Eis o vetor \n");  for (i=0;i<LIMIT;i++){      printf("Posiçao %d contém o número %d \n",i,numeros[i]);  };                    }

Pode vë-lo corretamente identado aqui https://repl.it/OHXx/
Perguntas interessantes