Ir para conteúdo
Fórum Script Brasil

Christopher Suffi

Membros
  • Total de itens

    9
  • Registro em

  • Última visita

Posts postados por Christopher Suffi

  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

    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.

  3. 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.

  4. 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...