Ir ao conteúdo
  • Cadastre-se

pedrogarcia95

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por pedrogarcia95

  1. Olá, eu criei um programa como esse e agora eu necessitaria adicionar alocação dinâmica nele, alguem conseguiria fazer para eu aprender? obrigado desde já

     

     

    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    int binario(int n,int i)
    {
        int x=0;
        if(n!=0)
        {
            x= n%2;
            x=(x*i)+binario(n/2,i*10);
        }
        return x;
     
    }
    int mult(int a,int B)
    {
        if(b!=1)
        {
            a=a+mult(a,b-1);
        }
        return a;
    }
    int conta(char p[])
    {
        int i;
        for(i=0;p!='\0';i++)
        {
     
        }
        return i;
    }
     
    void inverte(char p[],int j)
    {
        char aux;
        int i=conta(p)-1;
        if(j<(i-j))
        {
            aux=p[j];
            p[j]=p[i-j];
            p[i-j]=aux;
            inverte(p,j+1);
        }
    }
    int gerador(int n,int i,int j)
    {
        int x;
        if(n>0)
        {
            x=(2*j)+(3*i);
            x=gerador(n-1,j,x);
            return x;
        }
    }
    int retorne(int n[],int i,int j)
    {
        int x=-1,y;
        if(i>=0)
        {
            if(n[i/2]==j)
            {
                y=i/2;
                while(y>=0)
                {
                    if(n[y]==j)
                        x=y;
                    y--;
                }
            }
            else
            {
                y=i/2;
                while(y>=0)
                {
                    if(n[y]==j)
                        x=y;
                    y--;
                }
                y=i/2;
                while(y<=i)
                {
                    if((n[y]==j)&&(x==-1))
                        x=y;
                    y++;
                }
            }
        }
        return x;
    }
     
    int main ()
    {
        int num,tam;
        int p;
        char opc,c[10];
        char palavra[10];
        do
        {
            printf("Se quiser parar digite $\n");
            printf("Digite a condicao que voce quer executar: ");
            fflush(stdin);
            scanf("%c",&opc);
            opc=toupper(opc);
            system("cls");
            switch(opc)
            {
                case 'A':   printf("Digite o numero que sera convertido: ");
                            scanf("%d",&num);
                            printf("O numero em binario \202: %d\n\n",binario(num,1));
                            break;
                case 'B':   printf("Digite os numeros que serao multiplicados.\nNumero 1: ");
                            scanf("%d",&num);
                            printf("Numero 2: ");
                            scanf("%d",&p);
                            if(p!=0)
                                p=mult(num,p);
                            printf("O resultado da multiplicacao \202: %d\n\n",p);
                            break;
                case 'C':   printf("Digite a frase que voce quer inverter: ");
                            fflush(stdin);
                            gets(palavra);
                            inverte(palavra,0);
                            printf("A palavra invertida \202: %s\n\n",palavra);
                            break;
                case 'D':   printf("Digite um valor para n: ");
                            scanf("%d",&num);
                            printf("O numero gerado \202: %d\n\n",gerador(num,0,1));
                            break;
                case 'E':   printf("Digite a palavra: ");
                            fflush(stdin);
                            gets(palavra);
                            strcpy(c,palavra);
                            inverte(c,0);
                            if(strcmp(palavra,c)==0)
                            {
                                printf("A palavra \202 palindromo. \n\n");
                            }
                            else printf("A palavra nao \202 palindromo.\n\n");
                            break;
                case 'F':   printf("Informe o tamanho do vetor: ");
                            scanf("%d",&tam);
                            int o[tam];
                            printf("Digite um vetor de %d posições: ",tam);
                            for(num=0;num<tam;num++)
                            scanf("%d",&o[num]);
                            printf("Informe um valor que deseja buscar: ");
                            scanf("%d",&num);
                            printf("A menor posicao do valor buscado \202: %d\n\n",retorne(o,tam,num));
                            break;
            }
     
        }while(opc!='$');
    }
     

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!