Ir para conteúdo
Fórum Script Brasil
  • 0

Alocação Dinamica


sidneimarques

Pergunta

bom dia a todos,

estou com o seguinte código preciso entende-lo se puderem me ajudar a comentar

obrigado

#include<stdlib.h>
#include<stdio.h>

int potencia(int a, int b);
void tabela (int p[5][11]);
void mostrar(int p[5][11]);

int main(void)
{
    int *p;
    p=(int *) malloc(ss * sizeof (int));
    if (!p)
    {
           printf("Memoria indisponivel");
           return 1;
}


    tabela (p);
    mostrar(p);
    return 0;
    void tabela(int p[5][11]) 
    { 
         register int i,j;
         for (j=1;j<11;j++)
          for(i=1;i<5;i++)
          p[i][j] = potencia(j,i);
          }
          
          void mostrar(int p [5][11])
          {
               register int i,j;
               printf("%10s,%10s,%10s,%10s\n","n","n^2","n^3","n^4");
               for (j=1;j<11;j++)
               {
                   for(i=1;i<5;i++)
                   printf("%10d",p[i][j]);
                   printf("\n');
                   }
                   
                   int potencia(int a, int b)
                   {
                       register int t=1;
                       for (;b;b--)
                       t=t*a;
                       return t;
                       }

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Opa!

Olha só, o ponteiro "p" deve ser um ponteiro para um ponteiro, visto que você precisa alocar um array bidimensional. Sendo assim, a declaração e a alocação deverão ficar assim:

int **p,
     linhas = 5,      // linhas do array bidimensional
     colunas = 11;   // colunas do array bidimensional

int i;

// Aloca um array de ponteiros:
p = ( int ** )malloc( linhas * sizeof( int * ) );

if ( !p ) {
    printf( "A memoria não pode ser alocada." );
    return 1;
}

// O código a seguir percorre o
// array de ponteiros alocando
// memória para eles:
for ( i = 0; i < colunas; i++ ) {
    p[ i ] = ( int * )malloc( colunas * sizeof( int ) );
    
    if( !p[ i ] ) {
        printf( "A memoria não pode ser alocada." );
        return 1;
    }
}

Está faltando também fechar a chave aberta da função "main".

Até mais!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...