Ir para conteúdo
Fórum Script Brasil

Christopher Suffi

Membros
  • Total de itens

    9
  • Registro em

  • Última visita

Tudo que Christopher Suffi postou

  1. O Que acham ? algo a mudar ou melhorar ? //Crie um TAD lista, agora utilizando ponteiros. A TAD deve conter a função para Inserir um elemento, Retirar um elemento, Listar todos os elementos em ordem contrária #include <conio.h> #include <stdio.h> #include <stdlib.h> struct no{ struct no * prox; int valor;}; int inserir(no ** l, int val, int * qnt); int listar(no * l); int apagar(no ** l, int * qnt); void menu(){ printf("\ 1- Insere");printf("\n 2- Remove");printf("\n 3- Lista");printf("\n 4- Exit");printf("\n\nValor: ");} int main(){ char opcao; int v,erro = 0,numero=0; no * lista = NULL; while(1){ system("cls"); menu(); scanf("%c",&opcao); if(opcao == '1'){ system("cls"); printf("\nDigite o valor a ser inserido: "); scanf("%i",&v); erro = inserir(&lista,v,&numero); }else if(opcao == '2')apagar(&lista,&numero); else if(opcao == '3')erro = listar(lista); else if(opcao == '4')exit(1); else if(erro == 0) printf("\n\nERROR: Digite uma das opcoes acima"), system("pause>nul");}} int inserir(no ** l, int val, int * qnt){ no * novo; novo = (no *) malloc(sizeof(no)); if((*l) == NULL){ (*l) = novo; novo->valor = val; (*l)->prox = NULL; }else{ novo->valor = val; novo->prox = (*l); (*l) = novo;} (*qnt)++; return 1;} int listar(no * l){ int i = 0; system("cls"); if(l == NULL){ printf("lista inexistente para consulta\n"); system("pause");} else{ while(l != NULL){ i++; printf("\nPOS: %i Valor: %i",i,l->valor); l = l->prox;}} system("pause>nul"); return 1;} int apagar(no ** l, int * qnt){ no * aux, *aux2; int pos, i = 1; aux = aux2 = (*l); if((*l) == NULL){ printf("Lista Inexistente para remover\n"); system("pause");} else{ system("cls"); printf("Digite a posicao para ser apagada: "); scanf("%i",&pos); if(pos <= *qnt && pos > 0){ if(pos == 1){ (*l) = (*l)->prox; free(aux); free(aux2); (*qnt)--; if((*qnt) == 1){ (*l) = NULL;}} else{ if(pos == 2){ aux = aux->prox; (*l) = aux2->prox; free(aux2); (*qnt)--;} else{ while(i != pos-1){ aux = aux->prox; aux2 = aux2->prox; i++;} aux = aux->prox; aux2->prox = aux->prox; free(aux); (*qnt)--;}}} else{ system("cls"); printf("Quantidade inexistente na lista\n"); system("pause");} return 1;}} //Acrescente ao TAD lista através de ponteiros funções para Retirar um elemento da lista e para consultar um elemento na lista. #include <conio.h> #include <stdio.h> #include <stdlib.h> struct no{ struct no * prox; int valor;}; int inserir(no ** l, int val, int * qnt); int listar(no * l); int apagar(no ** l, int * qnt); int listar_elemento(no * l); void menu(){ printf("\ 1- Insere");printf("\n 2- Remove");printf("\n 3- Lista");printf("\n 4- Lista");printf("\n 5- Exit");printf("\n\nValor: ");} int main(){ char opcao; int v,erro = 0,numero=0; no * lista = NULL; while(1){ system("cls"); menu(); scanf("%c",&opcao); if(opcao == '1'){ system("cls"); printf("\nDigite o valor a ser inserido: "); scanf("%i",&v); erro = inserir(&lista,v,&numero);} else if(opcao == '2')erro = apagar(&lista,&numero); else if(opcao == '3')erro = listar(lista); else if(opcao == '4')erro = listar_elemento(lista); else if(opcao == '5')exit(1); else if(erro == 0) printf("\n\nERROR: Digite uma das opcoes acima"), system("pause>nul");}} int listar_elemento(no * l){ int buscar,i=0; system("cls"); if(l == NULL)printf("\nNao existe lista!"); else{ printf("Digite o elemento a ser buscado: "); scanf("%i",&buscar); while(l != NULL){ if(l->valor == buscar){i++;} l = l->prox;} printf("\n elemento não Encontrado",i);} system("pause>nul"); return 1; } int inserir(no ** l, int val, int * qnt){ no * novo; novo = (no *) malloc(sizeof(no)); if((*l) == NULL){ (*l) = novo; novo->valor = val; (*l)->prox = NULL;} else{ novo->valor = val; novo->prox = (*l); (*l) = novo;} (*qnt)++; return 1;} int listar(no * l){ int i = 0; system("cls"); if(l == NULL){ printf("Lista inexistente para Consulta\n"); system("pause");} else{ while(l != NULL){ i++; printf("\nPOS: %i Valor: %i",i,l->valor); l = l->prox; } } system("pause>nul"); return 1;} int apagar(no ** l, int * qnt){ no * aux, *aux2; int pos, i = 1; aux = aux2 = (*l); if((*l) == NULL) { printf("não existe lista para voce remover\n"); system("pause");} else{ system("cls"); printf("Digite a posicao para ser apagada: "); scanf("%i",&pos); if(pos <= *qnt && pos > 0){ if(pos == 1){ (*l) = (*l)->prox; free(aux); free(aux2); (*qnt)--; if((*qnt) == 1){ (*l) = NULL;} }else{ if(pos == 2){ aux = aux->prox; (*l) = aux2->prox; free(aux2); (*qnt)--;} else{ while(i != pos-1){ aux = aux->prox; aux2 = aux2->prox; i++;} aux = aux->prox; aux2->prox = aux->prox; free(aux); (*qnt)--;}}} else{ system("cls"); printf("Voce digitou uma quantidade inexistente na lista\n"); system("pause");}} return 1;}
  2. Bom dia Galera preciso entregar esse trabalho amnha pema manha... ser possivel ? Acho dificil né... Complicado...
  3. Lindo.. Consegui compilar o das Cartas.. E agora voltando pro programa que preciso...como faço ? Agradeço pela atenção
  4. Bom Dia Marcelo..Pois é cara..Pensa em alguém que nunca programaou... Isso trata-se de uma ultima materia pendente de minha faculdade, e estou fazendo com estudo dirigido. Mas cara agradeço demais a força que esta me dando.. IDE \ dev-c++ Instalado.. Aguardo... Abraço, um bom dia.
  5. Legal Marcelo...Vamos La. Não manjo nada de programar, nunca programei..Mas agradeço pela ajuda. Cara eu preciso de quando arquivos ? Algo do tipo .c ou .h e o que vai ter em cada arquivo ? Grato
  6. Bom Dia Marcelo Obrigado cara pela Ajuda... já percebi que você é o Cara quando se fala de programação..Cara este trampo é pra Facul e eu não manjo nada de Programar.. Consegue me ajudar com isso ? Abraço
  7. Boa Noite Galera preciso de uma ajuda com esse programinha... alguém consegue me dar um norte ou uma luz ? Criar Lista através de Vetores 1. Acrescente a função de inserir um elemento em uma posição específica no TAD lista através de vetores. INSERE 2. Acrescente a função de retirar um elemento qualquer no TAD lista através de vetores. RETIRA 3. Acrescente a função de listar a lista em ordem contrária, ou seja, do último para o primeiro elemento. LISTA Lista através de Ponteiros 4. Crie um TAD lista, agora utilizando ponteiros. A TAD deve conter a função Inserir um elemento, Retirar um elemento, Listar todos os elementos em ordem contrária. 5. Acrescente ao TAD lista através de ponteiros para Retirar um elemento da lista e para consultar um elemento na lista.
  8. Marcelo Perfeiro Cara.....Quem Manja Manja.... Isso mesmo que preciso...Parabens Abraço.
  9. Bom Dia Galera preciso de uma ajuda com esse problema; Considere um sistema de sensoriamento de aquecimento de telhas em um determinado dia (24 horas). Duas telhas são expostas ao sol com sensores sobre elas, uma com uma tinta especial (telha 1) e outra não (telha 2 ). A cada 15 minutos o sensor capta (usuário digita) a temperatura das telhas as quais são registradas em dois vetores distintos (TempTelha1 e TempTelha2). Mostre qual das telhas teve menor aquecimento médio durante todo o dia. Preciso inserir 96 valors de cada telha e comparar qual a menor media e imprimir na tela Grato.
×
×
  • Criar Novo...