View difference between Paste ID: YC8NhuSn and M6UCGTUe
SHOW: | | - or go back to the newest paste.
1
#include <stdio.h>
2
#include <stdlib.h>
3
 
4
//PROGRAMA DESENVOLVIDO POR: ERICK VALERIO
5-
//LOCALIZACAO DE UMA INFORMACAO SEQUENCIA E BINARIO
5+
//ÚLTIMA ATUALIZAÇÃO: 16/09/15
6-
//ORGANIZACAO BUBBLE
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-
                *posicao = 0;
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
}