Ir para conteúdo
Fórum Script Brasil

sarahbortoloti

Membros
  • Total de itens

    7
  • Registro em

  • Última visita

Posts postados por sarahbortoloti

  1. Boa noite !

    Será que alguém poderia me ajudar na resolução deste exercício ?

    estou um pouco confusa sobre como resolve-lo :(

     

    Faça uma função recursiva para encontrar a soma dos elementos de um vetor v de tamanho N.
    Se definirmos a soma dos valores de v por s(k), com índices de 0 a k (v[0..k]), podemos escrever:
    s(0) = v[0]
    s(k) = s(k-1) + v[k], 1 <= k < n
    O vetor deverá ser alocado dinamicamente. Crie funções para alocar o vetor e para liberar a
    área de memória alocada. 

  2. Boa noite !

    Será que alguém poderia me ajudar na resolução deste exercício ?

    estou um pouco confusa sobre como resolve-lo :(

     

    Faça uma função recursiva para encontrar a soma dos elementos de um vetor v de tamanho N.
    Se definirmos a soma dos valores de v por s(k), com índices de 0 a k (v[0..k]), podemos escrever:
    s(0) = v[0]
    s(k) = s(k-1) + v[k], 1 <= k < n
    O vetor deverá ser alocado dinamicamente. Crie funções para alocar o vetor e para liberar a
    área de memória alocada. 
     

  3. Boa noite !

    Faço Ads e estou resolvendo uma lista de struct para a aula.

    Fiz um exercicío simples de cadastro , alocação dinâmica e impressão , só que ele n está dando certo , pois a impressão deve ser feita em ordem alfabética e eu fiz pelo algoritmo bubble sort só que n está ordenando , será que alguém poderia dar uma olhada e ver o que tem de errado o porque de não estar ordenando ?


    #include<stdio.h>
    #include<stdlib.h>
    #include<locale.h>
    #include<string.h>
    #define X 3
      
     typedef struct pessoa
     {
     char nome[40];
     char endereco[100];
     char telefone[13];
     
     //struct definida;
     };
     
     void preenche(pessoa *p) ;
     void mostra(pessoa *p);
     void bublesort(pessoa *p);
     int main() // programa principal;
     {    
      setlocale(LC_ALL,"portuguese");
      pessoa *p=NULL; // iguala a Null para inicializar o ponteiro p;
      p=(pessoa*)malloc(sizeof(pessoa)*X); // alocação dinâmica;
      int a;
      
      for(a=0;a<(X);a++)
      {
      preenche(&p[a]); // acessa diretamente o end de *p;
      }
      
    bublesort(p); // ordena struct
    mostra(p);

    }

     
     void preenche(pessoa *p) 
     {    
        char lixo[2]; // limpa o buffer;
         printf("Insira seu nome \n");
         scanf("%s",p->nome);
    gets(lixo);
        printf("Insira cidade,bairro, rua e nº\n");
         gets(p->endereco);
         printf("Insira O DDD e em seguida seu telefone\n");
         gets(p->telefone);
    gets(lixo); //limpa
     system("cls");
     }
     
    void mostra(pessoa *p)
    {
        int a;
        for(a=0;a<X;a++)
        {
            printf("Nome %s \n ",p->nome);
            printf("Endereço %s \n",p->endereco);
            printf("Tel : %s\n",p->telefone);
    p++;    
            // imprime a struct;
        }
    }


    void bublesort(pessoa *p)
    {    pessoa aux; 
        int i, j;
        for ( i=X-1; i > 0; i-- )
        {
                for ( j=0; j < i; j++ )
                {

                    if (strcmp (p[j].nome , p[j+1].nome )<0)
                    {
                        strcpy(aux.nome,p[j].nome);
                        strcpy(aux.endereco,p[j].endereco);
                        strcpy(aux.telefone,p[j].telefone);
                         
                        strcpy(p.nome,p[j].nome);
                        strcpy(p.endereco,p[j].endereco);
                        strcpy(p.telefone,p[j].telefone);
                         
                        strcpy(p[j].nome,aux.nome);
                        strcpy(p[j].endereco,aux.endereco);
                        strcpy(p[j].telefone,aux.telefone);
                         

                     }
                }

         }
    }

     

  4. Boa noite !

    Faço Ads e estou resolvendo uma lista de struct para a aula.

    Fiz um exercicío simples de cadastro , alocação dinâmica e impressão , só que ele n está dando certo , pois a impressão deve ser feita em ordem alfabética e eu fiz pelo algoritmo bubble sort só que n está ordenando , será que alguém poderia dar uma olhada e ver o que tem de errado o porque de não estar ordenando ?


    #include<stdio.h>
    #include<stdlib.h>
    #include<locale.h>
    #include<string.h>
    #define X 3
      
     typedef struct pessoa
     {
     char nome[40];
     char endereco[100];
     char telefone[13];
     
     //struct definida;
     };
     
     void preenche(pessoa *p) ;
     void mostra(pessoa *p);
     void bublesort(pessoa *p);
     int main() // programa principal;
     {    
      setlocale(LC_ALL,"portuguese");
      pessoa *p=NULL; // iguala a Null para inicializar o ponteiro p;
      p=(pessoa*)malloc(sizeof(pessoa)*X); // alocação dinâmica;
      int a;
      
      for(a=0;a<(X);a++)
      {
      preenche(&p[a]); // acessa diretamente o end de *p;
      }
      
    bublesort(p); // ordena struct
    mostra(p);

    }

     
     void preenche(pessoa *p) 
     {    
        char lixo[2]; // limpa o buffer;
         printf("Insira seu nome \n");
         scanf("%s",p->nome);
    gets(lixo);
        printf("Insira cidade,bairro, rua e nº\n");
         gets(p->endereco);
         printf("Insira O DDD e em seguida seu telefone\n");
         gets(p->telefone);
    gets(lixo); //limpa
     system("cls");
     }
     
    void mostra(pessoa *p)
    {
        int a;
        for(a=0;a<X;a++)
        {
            printf("Nome %s \n ",p->nome);
            printf("Endereço %s \n",p->endereco);
            printf("Tel : %s\n",p->telefone);
    p++;    
            // imprime a struct;
        }
    }


    void bublesort(pessoa *p)
    {    pessoa aux; 
        int i, j;
        for ( i=X-1; i > 0; i-- )
        {
                for ( j=0; j < i; j++ )
                {

                    if (strcmp (p[j].nome , p[j+1].nome )<0)
                    {
                        strcpy(aux.nome,p[j].nome);
                        strcpy(aux.endereco,p[j].endereco);
                        strcpy(aux.telefone,p[j].telefone);
                         
                        strcpy(p.nome,p[j].nome);
                        strcpy(p.endereco,p[j].endereco);
                        strcpy(p.telefone,p[j].telefone);
                         
                        strcpy(p[j].nome,aux.nome);
                        strcpy(p[j].endereco,aux.endereco);
                        strcpy(p[j].telefone,aux.telefone);
                         

                     }
                }

         }
    }

     

×
×
  • Criar Novo...