Ir para conteúdo
Fórum Script Brasil

jrsilvamg

Membros
  • Total de itens

    37
  • Registro em

  • Última visita

Tudo que jrsilvamg postou

  1. Execute o código e veja se te ajuda você a atender o que acontece nesta recursividade. Quando estou com duvidas do que acontece durante a execução do código eu coloca alguns printf para ver o que esta acontece e qual será meu retorno. esta linha return Rec(n-1,m) + Rec(n-1,m+1); o Rec(n-1,m) chama a função Rec novamente já Rec(n-1,m+1) fica esperando o Rec(n-1,m) acabar de ser executado para chamar a funcao Rec novamente, mas quando o Rec(n-1,m) chama a função Rec haverá um novo return Rec(n-1,m) + Rec(n-1,m+1); que será executado primeiramente o Rec(n-1,m) pra depois executar Rec(n-1,m+1) que está recursividade só irar ter final quando executar o if (n==m || n==0) retornando o valor 1. #include <stdio.h> #include <stdlib.h> int Rec(int n,int m){ if (n==m || n==0){ printf("\nEntrou no if: n = %d - m = %d\n", n, m); return 1; }else{ printf("Entrou no else: n = %d - m = %d\n", n, m); return Rec(n-1,m) + Rec(n-1,m+1); } } int main(int argc, char *argv[]){ int n = 5, m = 3; printf("%d",Rec(n, m)); getch(); system("PAUSE"); return 0; } o objetivo do programa e somar os if que são executados 10 vezes retornado uma soma no valor de 10.
  2. jrsilvamg

    Inverter Fila

    beleza RS25 Você pode usar uma recursividade para fazer isto. Exemplo imprimir de 1 a 10 do maior pro menor. Código #include <stdio.h> #include <stdlib.h> void volta(int x); int main(int argc, char *argv[]){ int x = 0; volta(x); system("PAUSE"); return 0; } void volta(int x){ if (x==10) return; if (x < 10){ x++; volta(x); } printf("[%d]\n", x); } ok!!!! B)
  3. Foi mau eu esqueci do PI la na função. Dois detalhes para rodar o programa 1. o define é sem o ; no final #define PI 3.1415 2. eu esqueci do PI acirc = PI * pow(c , 2); #include <stdio.h> #include <stdlib.h> #define PI 3.1415 int main(int argc, char *argv[]){ float a, b, c, acirc, aret, atri; printf("Digite numero 1: "); scanf("%f", &a); printf("Digite numero 2: "); scanf("%f", &b); printf("Digite numero 3: "); scanf("%f", &c); acirc = PI * pow(c , 2); printf("A área do circulo é %.2f\n", acirc); //scanf("%f", a); // qual a necessidade deste scanf aqui aret = a * b; printf("A área do retangulo é %.2f\n", aret); //scanf("%f", &aret); // qual a necessidade deste scanf aqui atri = sqrt( ((a+b+c)/2) * (((a+b+c)/2) - a) * (((a+b+c)/2) - b ) * (((a+b+c)/2) - c)); printf("A área do triangulo é %.2f\n", atri); //scanf("%.2f", &atri); // qual a necessidade deste scanf aqui system("PAUSE"); return 0; } Espero que agora resolva.
  4. tenta assim: #include<stdio.h> #include<math.h> int main(int argc, char *argv[]){ char c = 135; char a = 131; printf("Cora\%c\%co", c,a); system("Pause"); return 0; } a letra ã eu não achei o codigo ASCII pra imprimir na tela mais os demais você encontra com este codigo aqui mostras todo os códigos ASCII em C. #include <stdio.h> #include <stdlib.h> int main() { int c = 0; do printf("[%d] %c\n", c, c); while (++c <= 255); system("Pause"); } na verdade toda letra ou simbolo e um codigo que e lido pelo compilador. ver em outras linguagens http://pt.wikipedia.org/wiki/ASCII
  5. Valeu cara Eu consegui fazer aqui e só colocar \"e colocar código ASCII sem aspa"
  6. #include<stdio.h> #include<math.h> main (void) { #define pi = 3,1415; // na se usa = no define float a, b, c, atri, acirc, aret; printf("Digite um numero", a); scanf("%.2f", &a); // não precisa de colocar .2f usa se .2 somente quando for imprimi o resultado printf("Digite um numero", b ); scanf("%.2f", &b); printf("Digite um numero", c); scanf("%.2f", &c); acirc = pi * (c ^ 2); // para calcular potência usa se pow(valor , expoente) printf("A área do circulo é %.2f\n", acirc); scanf("%.2f", â); // não usa acento em código fonte aret = a * b; printf("A área do retangulo é %.2f\n", aret); scanf("%.2f", &aret); atri = sqrt( ((a+b+c)/2) * (((a+b+c)/2) - a) * (((a+b+c)/2) - b ) * (((a+b+c)/2) - c)); printf("A área do triangulo é %.2f\n", atri); scanf("%.2f", &atri); return 0; } Código #include <stdio.h> #include <stdlib.h> #define PI 3.1415; int main(int argc, char *argv[]){ float a, b, c, acirc, aret, atri; printf("Digite numero 1: "); scanf("%f", &a); printf("Digite numero 2: "); scanf("%f", &b); printf("Digite numero 3: "); scanf("%f", &c); acirc = pow(c , 2); printf("A área do circulo é %.2f\n", acirc); //scanf("%f", a); // qual a necessidade deste scanf aqui aret = a * b; printf("A área do retangulo é %.2f\n", aret); //scanf("%f", &aret); // qual a necessidade deste scanf aqui atri = sqrt( ((a+b+c)/2) * (((a+b+c)/2) - a) * (((a+b+c)/2) - b ) * (((a+b+c)/2) - c)); printf("A área do triangulo é %.2f\n", atri); //scanf("%.2f", &atri); // qual a necessidade deste scanf aqui system("PAUSE"); return 0; }
  7. Não consegui Quando executo o programa aparece Resultado: o que tenho que colocar para imprimir ╚ Eu queria que ficasse o que tenho que colocar para imprimir È como eu troco este simbolo ╚ pela a letra e com acento "È"
  8. Estou com um pequeno problema. Queria saber como escrever um caracter especial em C, sei que tenho que consultar a TABELA ASCII e pegar codigo exemplo È na tabela = 200 o meu problema e o que tenho que colocar no printf. Como eu vou fazer printf("o que tenho que colocar para imprimir È");
  9. Queria alterar a matriz puzzle[4][4] para matriz puzzle[n][n] para que o usuario informe o tamanho da matriz mas quando coloco n no lugar do 4 os resultado da erro. o arquivo txt tem o seguintes dados 9 15 5 0 4 6 1 3 14 2 7 10 8 12 13 11 #include <stdio.h> #include <stdlib.h> void imprime(int n, int puzzle[n][n]){ int i, j; printf(" -------------------\n"); for (i=0; i<n; i++){ printf ("| "); for (j=0; j<n; j++){ if (puzzle[j]<10) printf (" %d | ", puzzle[j]); else printf ("%d | ", puzzle[j]); } printf("\n"); } printf(" -------------------\n"); } int main(int argc, char *argv[]) { int n, i, j, valor, puzzle[4][4]; // queria altera para puzzle[n][n] printf("Resolvendo o PUZZLE"); printf("\n\n"); printf("Informe tamanho do Puzzle NxN - N: "); scanf ("%d", &n); printf("\n"); FILE *arq = fopen("puzzle.txt", "r"); if (arq == NULL){ printf("Desculpe, o arquivo não pode ser aberto"); exit(1); } for (i=0 ; i<n; i++){ for (j=0 ; j<n; j++){ fscanf (arq, "%d", &valor); puzzle[j] = valor; } } fclose(arq); imprime(n, puzzle); system("PAUSE"); return 0; }
×
×
  • Criar Novo...