Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
adriani santos

Vetor estático

Recommended Posts

Boa noite!! Preciso de ajuda nos exercícios abaixo, agradeço desde já.

Exercício:

 

1 - Criar um vetor estático que tenha em cada posição, a referência para uma variável que teve memória alocada dinamicamente.

 

2 - Criar um vetor estático que tenha em cada posição, a referência para outro vetor alocado dinamicamente. Em cada posição pode existir um vetor de tamanho diferente. Você deverá saber qual o tamanho do vetor armazenado naquela posição para poder percorrê-lo. Dica: Vetor de structs?!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

A 1 eu fiz assim:

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

int main (){

int *v;
v = (int*)malloc( 4 * sizeof(int*) );

if (v == NULL) {
    printf("erro:sem memoria! \n");
        exit(1);
}

int i;
 for (i=0; i<4; i++){

    printf("digite v[%d]\n", i);
    scanf("%d",&v);
 }

 system("pause");
 free(v);
 return 0;
}
 

não sei se está correto.

Mas estou tendo muita dificuldade para fazer a 2, não sei como fazer tem como me ajudar?? 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz dessa forma:

 

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

int main (void)
{
    int *v;
    int i=0;
    printf("\n\nFavor informe a quantidade de numeros que deseja armazenar:\n\n");
    scanf("%d", &i);

    v=(int*)malloc(i*sizeof(int));

    if (v == NULL)
    {
        printf("\n\nNao existe memoria suficiente\n\n");
        system ("pause > NULL");
        exit (1);
    }

    int cont;

    for(  cont=0;cont<i;cont++)
    {
        printf("\n\nNumero %d: %d", cont+1, &v[cont]);
    }
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@CiroboyBR tens como me ajudar nessa aqui, não sei fazer  - Criar um vetor estático que tenha em cada posição, a referência para outro vetor alocado dinamicamente. Em cada posição pode existir um vetor de tamanho diferente. Você deverá saber qual o tamanho do vetor armazenado naquela posição para poder percorrê-lo. Dica: Vetor de structs. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@adriani santos Pensei em estrutura porque a questão não fala qual o tipo da variável. Você pode fazer com struct:
 

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

struct ponteiro {
  int *p;
} ponteiro;


main() {
  struct ponteiro P[5];
  int v1[5] = {1, 1, 1, 1, 1};
  int v2[5] = {2, 2, 2, 2, 2};
  int v3[5] = {3, 3, 3, 3, 3};
  int v4[5] = {4, 4, 4, 4, 4};
  int v5[5] = {5, 5, 5, 5, 5};

  P[0].p = &v1;
  P[1].p = &v2;
  P[2].p = &v3;
  P[3].p = &v4;
  P[4].p = &v5;

  int i;
  for ( i = 0; i < 5; i++ )
    imprime_vetor( P[i].p );

}

void imprime_vetor( int *v ) {
  int i;

  printf( "\nVetor: " );
  for ( i = 0; i < 5; i++ )
    printf( "%d " , v[i] );

}

ou sem struct, criando um vetor de ponteiros:

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


main() {
  int *P[5];
  int v1[5] = {1, 1, 1, 1, 1};
  int v2[5] = {2, 2, 2, 2, 2};
  int v3[5] = {3, 3, 3, 3, 3};
  int v4[5] = {4, 4, 4, 4, 4};
  int v5[5] = {5, 5, 5, 5, 5};

  P[0] = &v1;
  P[1] = &v2;
  P[2] = &v3;
  P[3] = &v4;
  P[4] = &v5;

  int i;
  for ( i = 0; i < 5; i++ )
    imprime_vetor( P[i] );

}

void imprime_vetor( int *v ) {
  int i;

  printf( "\nVetor: " );
  for ( i = 0; i < 5; i++ )
    printf( "%d " , v[i] );

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×