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 | } |