Ir ao conteúdo
  • Cadastre-se

Luc4s M0ur4

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Tudo que Luc4s M0ur4 postou

  1. Olá, estou criando um programa para uma matéria da Universidade onde esse programa recebe dois strings de números decimais gigantes inserido pelo usuário e mostra a soma desses números em uma terceira lista( as outras duas estão recebendo os valores) em uma Lista Duplamente Encadeada em C. Portanto estou com uma grande dificuldade de fazer algumas funções desse programa como a Generate ( onde gera uma lista a partir de uma string de números decimais como citado anteriormente, e que recebe um parâmetro Char para esses números) , Sum ( função na qual recebe esses valores e faz a soma deles) e a função Destroy( que faz a destruição de uma lista ou mais ). LDouble.h #ifndef DUPLAMENTE_LISTA #define DUPLAMENTE_LISTA typedef struct double_linked TDList; typedef struct no TNo; TDList* TDList_create(); void TDList_destroy(TDList*); TDList* TDList_generate(char*); /** * Gera uma lista a partir de uma string de numeros decimais. * Retorna uma lista duplamente encadeada representando a sequencia. * @return: TDList* * @param: char* o numero como uma cadeia de caracteres. Ex.: "1234567897987987" **/ TDList* TDList_sum(TDList*, TDList*); /** * Toma duas listas duplamente como parametro, representando inteiros gigantes e gera uma terceira lista * sendo um outro numero possivelmente gigante representando a soma. * @param: ponteiros para listas duplamente encadeada representando dois numeros inteiros positivos possivelmente gigantes. * @return: retorna o ponteiro para uma lista duplamente encadeada representando outro numero possivelmente gigante * (resultado da soma dos dois numeros de parametro) **/ void TDList_print(TDList*); /* * Imprime a lista duplamente encadeada como sendo um numero inteiro gigante. * Os numeros deverao ser impressos um ao lado do outro sem espaco e com um \n no final da lista. * @param: ponteiro para lista duplamente encadeada que representa um numero inteiro positivo. */ #endif LDouble.c #include <stdlib.h> #include <stdio.h> #include "LDouble.h" struct no{ int info; struct no *prox, *ant; }; struct no* TNo_createnfill(int info){ struct no* novo = (struct no*) malloc(sizeof(struct no)); if(novo){ novo->info = info; novo->prox = NULL; novo->ant = NULL; } return novo; } struct double_linked{ struct no *inicio; struct no *fim; }; TDList* TDList_create(){ TDList* nova = (TDList*) malloc(sizeof(TDList)); if(nova){ nova->inicio = NULL; nova->fim = NULL; } return nova; } TDList* TDList_sum(TDList* list){ //Função com dificuldade para fezar. } TDList* TDList_generate(char*){ //Função com dificuldade para fezar. } void TDList_destroy(TDList* list){ //Função com dificuldade para fezar. } void TDList_print(TDList* list){ if(list){ struct no* aux = list->inicio; while(aux){ printf("%d", aux->info); aux = aux->prox; } puts(""); } } main.c #include<stdio.h> #include<stdlib.h> #include<string.h> #include "LDouble.h" /** * Problema: representacao de inteiros gigantes usando lista duplamente encadeada. * Para testar: ./a.out 123123123 123123123123121 */ int main(int argc, char* argv[]){ if(argc>2){ TDList* num1 = TDList_generate(argv[1]); TDList* num2 = TDList_generate(argv[2]); TDList* sum = TDList_sum(num1, num2); TDList_print(sum); TDList_destroy(num1); TDList_destroy(num1); TDList_destroy(sum); } return 0; } A seguir a questão, caso estejam com alguma dúvida relacionado ao que falei acima. E agradeço muito a ajuda de quem me ajudar.
  2. Olá, estou com duvida em uma questão de como fazer uma alocação dinâmica em um programa na qual faz sorteios de números, onde o usuário faz aposta de até 20 números e de 0 a 100.A parte em especifico que estou com duvida é onde o programa compara os números sorteados com o(os) número(os): int compara_aposta(int *aposta,int *sorteio,int *val_certos, int na, int ns) { //realocar memoria para val_certos } EDIT: Após isso tudo, o meu receber tais valores o programa deverá sortear, aleatoriamente, 20 valores (entre 0 e 100). Após o sorteio, o programa deverá comparar os valores apostados com os sorteados e retornar para o usuário a quantidade de acertos e os números que ele acertou. Código completo : #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> void ler_aposta(int *aposta,int n) { int i; printf("informe o(os) %d valor(es) certo(os) (0-100) \n",n); for(i=0;i<n;i++) { scanf("%d",&aposta[i]); } } void sorteio_valores(int *sorteio,int n) { int i; srand(time(NULL)); for(i=0;i<n;i++) { sorteio[i]=rand()%100; } } int compara_aposta(int *aposta,int *sorteio,int *val_certos, int na, int ns) { //realocar memoria para val_certos } int main(void) { int i,nap,*aposta,sorteio[20],*val_certos,qtd_certos; printf("Informe a quantidade de números a serem apostados: \n"); scanf("%d",&nap); aposta=(int *) malloc(nap*sizeof(int)); val_certos=(int) malloc(i*sizeof(int)); ler_apostas(aposta,nap); sorteio_valores(sorteio,20); qtd_certos=compara_apostas(aposta,sorteio,val_certos,nap,20); printf("Valores acertados: \n"); for(i=0;i<20;i++); { printf("%d",sorteio[i]); } printf("valores acertados: \n"); if(qtd_certos==0) { printf("Não acertou nada. \n"); } else{ for(i=0;i<qtd_certos;i++) { printf("%d \n",val_certos[i]); } } return 0; } Obs: Caso tenha algo faltando em meu código, aceito ajudas e dicas.
  3. Eae galera, estava olhando alguns SSDs m.2 sata na internet, e ai queria saber se o Aspire 5 A515-41g 1480 tem suporte para ssd M.2 de 1TB? (obs: já pesquisei em outros fóruns por essa informação, porém, não encontrei.)
  4. Pessoal, estou com uma GTX 970 4GB a 05 meses e ao ser ligada no PC não gera imagem, simplesmente não funciona. o que posso fazer para ela voltar ao normal???

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!