Ir para conteúdo
Fórum Script Brasil

wrodrigounb

Membros
  • Total de itens

    14
  • Registro em

  • Última visita

Tudo que wrodrigounb postou

  1. Boa tarde, galera. Venho tentando criar um programa para mostrar na tela apenas uma string por dia. Seria meio que um "conselho do dia". O que fiz até agora: Vetor de strings;Consegui definir os índices de cada string;Peguei data de hoje e ontem para comparar.Alguém poderia me ajudar? W. Rodrigo Graduando - CiC Universidade de Brasília - UnB
  2. Boa tarde, repare, nesse trecho do seu código: void cadastrarNome(){ printf("\n\nDigite um nome qualquer:\n"); scanf("%s",nome); printf("\nDigite a idade do individuo\n"); scanf("%d",idade); main(); } No seus scanf você tá armazenando o valor na variável, tá errado. Não esqueça de armazenar assim: &nomedavariável; Outra coisa, seu vetor foi declarado assim: char nome[4] = {"João"}; O [4] indica que o vetor vai ter 4 elementos, e só tem um. Isso é só uma dica, beleza!? ;) W. Rodrigo Universidade de Brasília - UnB Graduando - CiC
  3. Boa tarde, Christopher. Agora que você tá com o DEV instalado, tente programar alguma coisa aê. Aqui no fórum tem muitos códigos prontos. Tente rodá-los, principalmente os do Rocco, que são quase auto-explicativos. Após entendê-los, tente compilar o das cartas. Estamos aqui para ajudar(o Marcelo mais que eu, afinal ele sabe MUITO mais xD). W. Rodrigo Universidade de Brasília - UnB Graduando - CiC
  4. Seu erro está em: scanf("%d%d%d", &a&b&c); Você não separou &a &b &c por vírgula. Daí dava ele não funcionava. Foi só falta de atenção. Estamos aqui para ajudar. W. Rodrigo Graduando - CiC Universidade de Brasília - UnB Se a ajuda foi útil, é educado agradecer.
  5. Brigado pelas dicas, Marcelo. Amanhã as testarei e te digo se deu certo! Abraço. W. Rodrigo Universidade de Brasília - UnB Graduando - CiC
  6. Olha só, você cometeu alguns erros bobos. O scanf é para receber valores, não imprimir. Para isso, use o printf( coisa que o Durub já te disse para fazer). Você vai precisar trocar( nos ifs ) scanf por printf e &num por num. Essa última troca é necessária pelo fato de & indicar o endereço no qual se encontra a variável, coisa que você não quer fazer, afinal você quer apenas imprimir o conteúdo da variável. Por isso é só indicar que você quer mostrar apenas o conteúdo da variável. Dessa forma fica: #include<stdio.h> #include<stdlib.h> main(){ // declaração de variaveis int num; // Entrada de Dados printf("\n Digite um numero de 1 - 7 para mostrar o dia da semana:"); scanf("%d",&num); if(num==1) { printf("Hoje é dia: %d , domingo\n",num); } if(num==2) { printf("Hoje é dia: %d , segunda feira\n",num); } if(num==3) { printf("Hoje é dia: %d , terça feira\n",num); } if(num==4) { printf("Hoje é dia: %d , quarta feira\n",num); } if(num==5) { printf("Hoje é dia: %d , quinta feira\n",num); } if(num==6) { printf("Hoje é dia: %d , sexta feira\n",num); } if(num==7) { printf("Hoje é dia: %d , sabado\n",num); } system("pause"); } ATENTE-SE PARA AS MUDANÇAS QUE INDIQUEI E FIZ NO CÓDIGO. E sim, as bibliotecas estão corretas. Se a ajuda do pessoal aqui do fórum foi útil, é educado agradecer. Estamos sempre dispostos a ajudar. W. Rodrigo Graduando - CiC Universidade de Brasília - UnB
  7. /* O algoritmo a seguir percorre um grafo, que está num .txt. O problema está na execução, ele para quando vai mostrar qual é o nó atual. */ #include<stdio.h> typedef struct elementoarco { float valorarco; int usado; struct elementoarco *proxarco; struct elementono *padj; } arco; typedef struct elementono { char dado; float valorno; int usado; struct elementono *proxno; struct elementoarco *pacessoarco; } no; struct tipofila { char dado; struct tipofila *prox; struct tipofila *fila; struct tipofila *f1; } filageral; void PercorreGrafoAmplitude(no *ginicio); char RetiraFila(struct tipofila **fila); void InicializaFila(struct tipofila **fila); void InsereFila(struct tipofila **fila,char dadonovo); int FilaVazia(struct tipofila *fila); int main(void) { no *ginicio; PercorreGrafoAmplitude(&ginicio); return 0; } void PercorreGrafoAmplitude(no *ginicio) { FILE *arq; struct elementono *proxno; struct elementoarco *pacessoarco; struct elementoarco *proxarco; struct elementono *padj; struct tipofila *fila; no *pno1; arco *pa1; char c; arq = fopen("t1.txt", "r"); while ((c = getc(arq)) != EOF) { if (ginicio == NULL) { printf ("grafo vazio \n"); } else { InicializaFila (&fila); pno1 = ginicio; InsereFila (&fila, ginicio); ginicio->usado = 1; printf ("visita no: %c \n", ginicio->dado); while (!FilaVazia(fila)) { pno1 = RetiraFila (&fila); pa1 = pno1->pacessoarco; while (pa1 != NULL){ if (!pa1->padj->usado){ printf ("visita no: %c \n", pa1->padj->dado); pa1->padj->usado = 1; InsereFila (&fila, pa1->padj); } pa1 = pa1->proxarco; } } } } fclose(arq); } void InicializaFila(struct tipofila **fila){ *fila = NULL; return; } void InsereFila(struct tipofila **fila,char dadonovo){ struct tipofila *f1, *f2; f1 = malloc(sizeof(struct tipofila)); f1->dado = dadonovo; f1->prox = NULL; if(*fila == NULL){ *fila = f1; } else { f2 = *fila; while(f2->prox != NULL){ f2 = f2->prox; } f2->prox = f1; } return; } char RetiraFila(struct tipofila **fila){ struct tipofila *f1; char car; f1 = *fila; *fila = f1->prox; car = f1->dado; free(f1); return(car); } int FilaVazia(struct tipofila *fila){ if(fila==NULL){ return(1); } else { return(0); } } Arquivo t1.txt = A B C D E F A 100 2 B 1 D 5 B 50 2 C 3 E 4 C 150 1 F 2 D 150 1 E 4 E 100 1 F 1 F 200 0 Não sei como resolver o problema, se alguém puder me ajudar, agradeço.
  8. wrodrigounb

    erro linha else

    Boa tarde, ao que me parece você esqueceu algumas chaves e colocou uns ponto-e-vírgula no lugar errado. void main(){ int a,b,c; printf("informe dois numero:"); scanf("%d%d", &a,&b); if( a > b ) { ( a = c ); } else { ( b = c ); } } Vê se assim dá certo! W. Rodrigo Graduando CiC Universidade de Brasília - UnB
  9. Aqui é Java, não JavaScript. ÁREA ERRADA!
  10. wrodrigounb

    Serie de Fourrier

    Acredito que seja algo assim. public class Fibo { public static void main(String[] args) { for(int i = 0; i <=10; i++) { System.out.print("(" + i + "):" + Fibo.fibonacci(i) + "\n"); } } static long fibonacci(int n) { long F = 0; long ant = 0; for(int i = 0; i <= n; i++) { if(i == 0) { F = 1; } else { F += ant; ant = F - ant; } } return F; } } W. Rodrigo CiC - Universidade de Brasília
  11. Boa tarde foristas! Gostaria da ajuda de vocês para terminar um código. Faça um programa que leia duas listas duplamente encadeadas e crie uma lista que seja a intersecção das duas primeiras. #include<stdio.h> #include<stdlib.h> struct elemento { char c, chave; struct elemento *pinicio, *prox, *ant, *p1, *p2; }; void construir1(struct elemento **pinicio); void construir2(struct elemento **pinicio); int main() { struct elemento *pinicio; construir1(&pinicio); construir2(&pinicio); system("PAUSE"); return 0; } void construir1(struct elemento **pinicio) { FILE *arq; struct elemento *p1, *p2; char chave; arq = fopen ("t1.txt", "r"); *pinicio = NULL; while ((chave = getc (arq)) != EOF) { if (chave != '\n'){ p1 = malloc (sizeof (struct elemento)); p1->dado = chave; if (*pinicio == NULL) { p1->prox = p1; p1->ant = p1; *pinicio = p1; printf(" \n\n FUNCAO CONSTRUIR1\n\n"); printf("Construir1: %c\n\n", chave); } else { p1->prox = *pinicio; p1->ant = (*pinicio)->ant; (*pinicio)->ant->prox = p1; (*pinicio)->ant = p1; *pinicio = p1; printf("Construir1: %c\n\n", chave); } } } fclose (arq); return; } void construir2(struct elemento **pinicio) { FILE *arq; struct elemento *p1, *p2; char c; arq = fopen ("t1.txt", "r"); *pinicio = NULL; while ((c = getc (arq)) != EOF) { if (c != '\n'){ p1 = malloc (sizeof (struct elemento)); p1->dado = c; if (*pinicio == NULL) { p1->prox = p1; p1->ant = p1; *pinicio = p1; printf("\n\n FUNCAO CONSTRUIR2\n\n"); printf("Construir2: %c\n\n", c); } else { p1->prox = *pinicio; p1->ant = p2; p2->prox = p1; (*pinicio)->ant = p1; } p2 = p1; printf("Construir2: %c\n\n", c); } } fclose (arq); return; } A parte da FUNÇÃO INTERSECÇÃO, não estou conseguindo fazer( :wacko: ). Alguém poderia me dar ao menos um "caminho"? Grato. W. Rodrigo Graduando - CiC Universidade de Brasília
  12. wrodrigounb

    Torre de Hanoi

    Essa é a base do programa, mas não compila por dizer que há erros em declarações. #include<stdio.h> struct tipopilha { char dado, dadonovo; struct tipopilha *prox, *phanoi; }; struct tipopilhageral { void *dado; char *origem, *destino, *auxiliar; int *n; struct tipopilhageral *prox, *pilha, *phanoi; }; struct reghanoi { char o; char d; char a; int k; struct reghanoi *paux1; }; void InicializaPilha(struct tipopilha **phanoi); void *EmpilhaHanoi(struct tipopilhageral *pilha, char origem, char destino, char auxiliar, int n); void *DesempilhaHanoi (struct tipopilhageral *pilha, char *origem, char *destino, char *auxiliar, int *n); void InserePilha(struct tipopilha **pilha, char dadonovo); char RetiraPilha(struct tipopilha **pilha); void Hanoi(char origem, char destino, char auxiliar, int n); int main() { InicializaPilha(&phanoi); phanoi = EmpilhaHanoi (struct tipopilhageral phanoi, origem, destino, auxiliar, n); while (!PilhaVazia (phanoi)) { phanoi = DesempilhaHanoi(phanoi, origem, &destino, &auxiliar, &n); if (n == 1) { printf ("movimento de %3c para %3c \n", origem, destino); } else { phanoi = EmpilhaHanoi (phanoi, auxiliar, destino, origem, n-1); phanoi = EmpilhaHanoi (phanoi, origem, destino, auxiliar, 1); phanoi = EmpilhaHanoi (phanoi, origem, auxiliar, destino, n-1); } } EmpilhaHanoi(&pilha, &origem, &destino, &auxiliar, &n); DesempilhaHanoi(pilha, origem, destino, auxiliar, n); return 0; } void InicializaPilha (struct tipopilha **pilha) { *pilha = NULL; return; } void Hanoi(char origem, char destino, char auxiliar, int n) { struct tipopilhageral *phanoi; struct reghanoi { char o; char d; char a; int k; }; } void *EmpilhaHanoi (struct tipopilhageral *pilha, char origem, char destino, char auxiliar, int n) { struct reghanoi *paux1; void *paux2; paux1 = malloc (sizeof (struct reghanoi)); paux1->o = origem; paux1->d = destino; paux1->a = auxiliar; paux1->k = n; paux2 = paux1; InserePilha(&pilha, paux2); return pilha; } void *DesempilhaHanoi (struct tipopilhageral *pilha, char *origem, char *destino, char *auxiliar, int *n) { struct reghanoi *paux1; void *paux2; paux2 = RetiraPilha(&pilha); paux1 = paux2; *origem = paux1->o; *destino = paux1->d; *auxiliar = paux1->a; *n = paux1->k; free (paux2); return pilha; } void InserePilha(struct tipopilha **pilha, char dadonovo) { struct tipopilha *p1; p1 = malloc (sizeof (struct tipopilha)); p1->dado = dadonovo; p1->prox = *pilha; *pilha = p1; return; } char RetiraPilha(struct tipopilha **pilha) { struct tipopilha *p1; char car; p1 = *pilha; *pilha = p1->prox; car = p1->dado; free (p1); return car; }
  13. Muito obrigado pela dica. Mas o arquivo já existia. O problema era no compilador(Dev C++), compilei no CodeBlocks e deu certo. Obrigado.
  14. a) Construção com inserção dos elementos no início da lista Neste caso, cada dado lido do arquivo é inserido no começo da lista. Dessa forma, a ordem dos elementos na lista fica invertida em relação à ordem original do arquivo. A função recebe como parâmetro o endereço do ponteiro pinicio, que aponta para o início da lista. #include<stdio.h> struct elemento { char dado; struct elemento *prox, *ant; }; void construir1(struct elemento **pinicio); int main void() { struct elemento *pinicio; construir1(&pinicio); return 0; } void construir1(struct elemento **pinicio) { FILE *arq; struct elemento *p1; char c; arq = fopen ("t1.txt", "r"); *pinicio = NULL; while ((c = getc (arq)) != EOF) { if (c != '\n'){ p1 = malloc (sizeof (struct elemento)); p1->dado = c; p1->prox = *pinicio; } if (*pinicio != NULL) { (*pinicio)->ant = p1; p1->ant = NULL; *pinicio = p1; } } fclose (arq); return; } Não entendo porque o compilador indica esse erro,alguém pode me ajudar? Acredito que o programa não tenha erros. W. Rodrigo CiC - Universidade de Brasília
×
×
  • Criar Novo...