Baixe o app para aproveitar ainda mais
Prévia do material em texto
#include <iostream> using namespace std; #define TAMVET 10 //-------------------------------------------- // Trocar Ordenação //-------------------------------------------- void trocaOrdenacao (float lista[], int quant) { int i; float aux; for(i=0;i<quant-1;i++) aux=lista[i]; lista[i]=lista[quant-(i+1)]; lista[quant-(i+1)]=aux; } //-------------------------------------------- // Ordenação Bolha //-------------------------------------------- void ordernarBolha(float lista[], int quant){ float aux; int i, trocou = true, fim = quant-1; while(trocou){ trocou = false; for(i=0; i<fim; i++) if(lista[i]>lista[i+1]){ aux = lista[i]; lista[i] = lista[i+1]; lista[i+1] = aux; trocou = true; } } fim--; } //-------------------------------------------- // Ordenar Selecao //-------------------------------------------- void ordenarSelecao (float lista[], int quant) { int i, j, menor; float aux; for (j=0; j < quant-1; j++) { menor = j; for(i=j+1; i < quant; i++) { if (lista[i] < lista[menor]) menor = i; } aux = lista[j]; lista[j] = lista[menor]; lista[menor] = aux; } } //-------------------------------------------- // Separar Lista //-------------------------------------------- void separaLista(float lista[], int quant, float valor, float lista1[], float lista2[], int& quant){ int i, quant1=0, quant2=0 for(i=0; i<quant; i++) if(lista[i]<valor){ lista1[quant1]=lista[i]; quant1++; } else{ lista2[quant2]=lista[i]; quant2++; } } } //-------------------------------------------- // Iniciar Lista //-------------------------------------------- void iniciarLista (int& quant){ quant = 0; } //-------------------------------------------- // Inserir Lista //-------------------------------------------- int inserirLista (int tamMax, int& quant, float valor, float lista[]){ if ( quant == tamMax){ return -1; // erro: lista cheia } else { lista[quant] = valor; quant++; return 0; //nao houve erro. Inseriu na lista. } } //-------------------------------------------- // Buscar Lista //-------------------------------------------- int buscarLista (float lista[], int quant, float valor){ int i; for (i=0; i<quant; i++){ if (lista[i]== valor) return i; } return -1; } //-------------------------------------------- // Remover da Lista //-------------------------------------------- int removerLista ( int& quant, float lista[], float valor){ int posicao; posicao = buscarLista (lista, quant, valor); if (posicao == -1) return -1; lista [posicao] = lista [quant-1]; quant--; return posicao; } //-------------------------------------------- // Listar //-------------------------------------------- void listar (int quant, float lista[]){ for (int i = 0; i<quant; i++) cout << " " << lista[i]; cout << endl; } int main (void) { float notas[TAMVET]; // lista de notas int quantidade; float nota ; int resultado, posicao; char opcao; iniciarLista (quantidade); do { cout << "(I)nserir, (R)emover, (B)uscar, (O)rdernar em bolha, Ordenar (S)elecao, (F)im: "; cin >> opcao; switch (opcao){ case 'I': case 'i': cout << "Digite o valor a inserir: "; cin >> nota; resultado = inserirLista ( TAMVET, quantidade, nota, notas); if (resultado == -1) cout << " Lista cheia, nao inseriu!"; break; //------------------------------------------------------------------------------ case 'R': case 'r': cout << "Digite o valor a remover: "; cin >> nota; resultado = removerLista ( quantidade, notas, nota); if (resultado == -1) cout << " nao encontrou valor e nao removeu!"; break; //------------------------------------------------------------------------------ case 'o': case 'O': ordernarBolha(notas, quantidade); break; //------------------------------------------------------------------------------ case 'B': case 'b': cout << "Digite o valor a buscar: "; cin >> nota; posicao = buscarLista (notas, quantidade, nota); if (posicao == -1) cout << " nao encontrou valor" << endl; else cout << " Encontrou valor na posicao " << posicao << endl; break; //------------------------------------------------------------------------------ case 's': case 'S': ordenarSelecao (notas, quantidade); } //cout << " quantidade = " << quantidade << " nota " << notas[0]; listar (quantidade, notas); } while ((opcao != 'f')&&(opcao != 'F')); system("PAUSE > null"); return 0; }
Compartilhar