Ir para conteúdo
Fórum Script Brasil

samucajeremias

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Tudo que samucajeremias postou

  1. Olá pessoal, estou com dúvida de como percorrer uma Árvore Rubro Negra, pra eu poder fazer uma contagem de nós vermelhos da árvore. Alguém tem alguma ideia de como fazer isso? Alguém pode me passar alguma função sobre isso em C? Pode ser até um pseudocódigo mesmo. Obrigado.
  2. Olá pessoal, estou com dúvida de como percorrer uma Árvore Rubro Negra, pra eu poder fazer uma contagem de nós vermelhos da árvore. Alguém tem alguma ideia de como fazer isso? Alguém pode me passar alguma função sobre isso em C? Pode ser até um pseudocódigo mesmo. Obrigado.
  3. Não estou conseguindo armazenar dados que pego de um arquivo no vetor de posição posterior à posição 0, como fazer em C? link do arquivo JSO: https://mega.nz/file/aFIxlQxK#ASFRCCyYMHqZLdgdgdqHIMNXGPgTzXRGHKi3dLoRAg4 Segue o código: #include <stdio.h> #include <stdlib.h> #include <string.h> /* * */ typedef struct { char price[50]; char description[50]; char taxes[50]; char code[50]; char barcode[50]; } dados; int main(int argc, char** argv) { FILE *arquivo; dados *vetor; int tam = 0; char *price, *code, *taxes, *description, *barcode, *token, linha[100000]; arquivo = fopen("arquivo.jso", "r"); //LÊ O ARQUIVO JSO if (arquivo == NULL) { printf("Erro ao ler o arquivo!\n"); } while (fgets(linha, 100000, arquivo) != NULL) { //PEGA OS DADOS DE UMA LINHA DO ARQUIVO... if (tam == 0) { tam++; vetor = malloc(tam * sizeof (dados)); //INICIA O VETOR token = strtok(linha, "[]"); //QUEBRA AS [] DO ARQUIVO token = strtok(linha, "{}"); //QUEBRA AS {} DO ARQUIVO code = strtok(token, ","); //SEPARA O CÓDIGO DO PRIMEIRO PRODUTO ATÉ A ',' price = strtok(NULL, ",");//SEPARA O PREÇO DO PRIMEIRO PRODUTO ATÉ A ',' description = strtok(NULL, ",");//SEPARA A DESCRIÇÃO DO PRIMEIRO PRODUTO ATÉ A ',' barcode = strtok(NULL, ",");//SEPARA O CÓDIGO DE BARRAS DO PRIMEIRO PRODUTO ATÉ A ',' taxes = strtok(NULL, ","); //SEPARA O IMPOSTO DO PRIMEIRO PRODUTO ATÉ A ',' //DAQUI EM DIANTE TERMINA DE QUEBRAR OS DADOS code = strtok(code, ":"); code = strtok(NULL, "\""); price = strtok(price, ":"); price = strtok(NULL, "\""); description = strtok(description, ":"); description = strtok(NULL, "\""); barcode = strtok(barcode, ":"); barcode = strtok(NULL, "\""); taxes = strtok(taxes, ":"); taxes = strtok(NULL, "\""); //ARMAZENA CADA DADO NO VETOR DE POSICAO 0 strcpy(vetor[tam - 1].code, code); strcpy(vetor[tam - 1].price, price); strcpy(vetor[tam - 1].description, description); strcpy(vetor[tam - 1].barcode, barcode); strcpy(vetor[tam - 1].taxes, taxes); printf("Code:%s Price:%s Description:%s Barcode:%s Taxes: %s\n", vetor[0].code, vetor[0].price, vetor[0].description, vetor[0].barcode, vetor[0].taxes); } else { tam++; vetor = realloc(vetor, tam * sizeof (dados)); //REALOCA O TAMANHO DO VETOR token = strtok(linha, "[]"); token = strtok(token, "{}"); token = strtok(NULL, "}"); code = strtok(token, ","); price = strtok(NULL, ","); description = strtok(NULL, ","); barcode = strtok(NULL, ","); taxes = strtok(NULL, ","); code = strtok(code, ":"); code = strtok(NULL, "\""); price = strtok(price, ":"); price = strtok(NULL, "\""); description = strtok(description, ":"); description = strtok(NULL, "\""); barcode = strtok(barcode, ":"); barcode = strtok(NULL, "\""); taxes = strtok(taxes, ":"); taxes = strtok(NULL, "\""); strcpy(vetor[tam - 1].code, code); strcpy(vetor[tam - 1].price, price); strcpy(vetor[tam - 1].description, description); strcpy(vetor[tam - 1].barcode, barcode); strcpy(vetor[tam - 1].taxes, taxes); printf("Code:%s Price:%s Description:%s Barcode:%s Taxes: %s\n", vetor[1].code, vetor[1].price, vetor[1].description, vetor[1].barcode, vetor[1].taxes); } } return (EXIT_SUCCESS); }
×
×
  • Criar Novo...