Advertisement
D3tona

Algoritmo 2 em C

Sep 16th, 2015
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //PROGRAMA DESENVOLVIDO POR: ERICK VALERIO
  5. //ÚLTIMA ATUALIZAÇÃO: 16/09/15
  6.  
  7. //FUNÇÃO:
  8. //1 - Inserir
  9. //2 - Exibir todos
  10. //3 - Localizar por posicao
  11. //4 - Localizar conteudo(sequencia)
  12. //5 - Localizar conteudo(binario)
  13. //7 - Organizar decresente
  14. //8 - Apagar
  15. //9 - Sair
  16. //------------------------------------------------
  17.  
  18.  
  19. //INSERIR VALOR NA LISTA
  20. int inserir(int valores[], int *posicao){
  21.        
  22.         int val;              
  23.        
  24.  
  25. //EVITA INSERIR PARA FORA DA LISTA
  26.         if(*posicao >= 10){
  27.                *posicao = 0;
  28.        }
  29.                        
  30.         printf("Escreva o valor que deseja na casa %d: ",*posicao);
  31.         scanf("%d", &val);
  32.        
  33.         printf("\n----------------------------------------------\n");
  34.         valores[*posicao] = val;
  35.        
  36.         *posicao = *posicao +1;
  37.                
  38.         return 0;
  39. }
  40.  
  41. int inserirlocal(int valores[]){
  42.        
  43.         int pos;              
  44.         int val;
  45.                                
  46.         printf("Escreva a posicao que deseja: ");
  47.         scanf("%d", &pos);
  48.        
  49.         printf("Escreva o valor deseja: ");
  50.         scanf("%d", &val);
  51.        
  52.         printf("\n----------------------------------------------\n");
  53.         valores[pos] = val;
  54.                                
  55.         return 0;
  56. }
  57.  
  58. int exibir(int valores[]){
  59.        
  60.         int i = 0;
  61.         //int tamanho = valores.length;
  62.        
  63.         for (i=0;i<10;i++){
  64.                
  65.                 printf("Valor da %d casa: %d\n",i , valores[i]);
  66.                
  67.         }
  68.         printf("\n----------------------------------------------\n");
  69.         return 0;      
  70. }
  71.  
  72. int localpos(int valores[]){
  73.        
  74.         int pos;
  75.                
  76.         printf("\nQual posicao que quer ver o valor?\n");
  77.         scanf("%d", &pos);
  78.        
  79.         printf("\nO elemento da posicao %d e: %d\n", pos, valores[pos]);
  80.         printf("\n----------------------------------------------\n");
  81.        
  82.         return 0;
  83. }
  84.  
  85. int localconse (int valores[]){
  86.        
  87.         int i;
  88.         int valor;
  89.        
  90.         printf("\nQual valor que busca?\n");
  91.         scanf("%d", &valor);
  92.        
  93.         for(i=0;i<10;i++){
  94.                
  95.                 if (valores[i] == valor){
  96.                
  97.                 printf("\nO valor: %d, esta na posicao: %d\n", valores[i],i);  
  98.                 printf("\n----------------------------------------------\n");
  99.                
  100.                 }
  101.                
  102.                
  103.                 //ESTE IF GARANTE QUE POSSA SER ACHADO MAIS DE UM VALOR, POIS ELES PODEM SE REPETIR...
  104.                 if(i==10){
  105.                         break;                
  106.                 }
  107.                
  108.         }
  109.        
  110.        
  111.         return 0;
  112. }
  113.  
  114. int localconbi(int array[]){
  115.    
  116.    int inicio, ultimo, meio;
  117.    int n = 10;
  118.    int valorb;
  119.    
  120.    printf("Entre com valor a ser achado!!\n");
  121.    scanf("%d", &valorb);
  122.  
  123.    inicio = 0;
  124.    ultimo = n - 1;
  125.    meio = (inicio+final)/2;
  126.  
  127.    while (inico <= ultimo) {
  128.       if (array[meio] < valorb)
  129.          primeiro = meio + 1;    
  130.       else if (array[meio] == valorb) {
  131.          printf("Valor: %d achado na posicao %d.\n", valorb, meio+1);
  132.          break;
  133.       }
  134.       else
  135.          ultimo = meio - 1;
  136.  
  137.       meio = (primeiro + ultimo)/2;
  138.    }
  139.    if (primeiro > ultimo)
  140.       printf("O valor %d não foi achado nesta lista.\n", valorb);
  141.          
  142.      
  143.      //MEIO
  144.     // printf("\n%d\n", meio);
  145.      
  146.      
  147.      return 0;
  148. }
  149.  
  150. int ordenar(int valoress[]){
  151.        
  152.        int aux;
  153.        int i, j;
  154.        
  155.        for (i=0;i<9;i++){
  156.           for (j=0;j<9;j++){
  157.              
  158.               if (valoress[j] > valoress[j+1]){
  159.               //    printf("Troca valor %d por %d", valoress[j], valoress[j+1]);
  160.                 aux = valoress[j];
  161.                 valoress[j] = valoress[j+1];
  162.                 valoress[j+1] = aux;
  163.                
  164.               }
  165.                        
  166.           }        
  167.     }
  168.    
  169.     for (i=0;i<9;i++){
  170.    
  171.        printf("\n%d\n",valoress[i]);
  172.        
  173.     }
  174.    
  175.        return 0;
  176.      
  177. }
  178.  
  179. int zerar(int valores[]){
  180.         int i = 0;
  181.        
  182.         for (i=0;i<10;i++){
  183.                
  184.                 valores[i] = 0;
  185.                
  186.         }
  187.        
  188.         return 0;
  189. }
  190.  
  191. void main() {
  192.        
  193.         int opcao;
  194.         int sair = 1;
  195.         int posicao = 0;
  196.         int valores[10];
  197.        
  198.         zerar(valores);
  199.        
  200.         while(sair){
  201.                
  202.         //EXIBE AS OPCOES
  203.         printf("1 - Inserir\n");      
  204.         printf("2 - Exibir todos\n");          
  205.         printf("3 - Localizar por posicao\n");
  206.         printf("4 - Localizar conteudo(sequencia)\n");
  207.         printf("5 - Localizar conteudo (binario)\n");  
  208.         printf("6 - Organizar decresente\n");  
  209.         printf("7 - Substituir valor na chave X\n");  
  210.         printf("8 - Apagar\n");
  211.         printf("9 - Sair\n");  
  212.  
  213.  
  214.         //ARMAZENA A OPCAO PARA SWITCH
  215.         scanf("%d",&opcao);
  216.        
  217.         //MANUPULA O MENU
  218.         switch(opcao){
  219.                
  220.                 case 1:
  221.                 inserir(valores, &posicao);
  222.                 break;
  223.                 case 2:
  224.                 exibir(valores);
  225.                 break;
  226.                 case 3:
  227.                 localpos(valores);    
  228.                 break;
  229.                 case 4:
  230.                 localconse(valores);
  231.                 break;
  232.                 case 5:
  233.                 localconbi(valores);
  234.                 break;
  235.                 case 6:
  236.                 ordenar(valores);
  237.                 break;
  238.                 case 7:
  239.                 inserirlocal(valores);
  240.                 break;
  241.                 case 8:
  242.                 zerar(valores);
  243.                 break;
  244.                
  245.                 //SAIR, SAI DO LOOP
  246.                 case 9:
  247.                 sair = 0;
  248.                 break;
  249.                        
  250.                 default:
  251.                 //CASO NAO TENHA A OPCAO SELECIONADA
  252.                 printf("Escolha uma opcao\n\n");      
  253.         }
  254.        
  255.        
  256.        
  257. }//FIM DO WHILE DO MENU
  258.                        
  259. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement