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

ponteiro para classe list [Resolvido]


asantos38

Pergunta

Boa noite a todos.

Estava estudando um vídeo do youtube que ensinava a trabalhar com a classe list de c++ e resolvi criar meus próprios exercícios utilizando ponteiros para a classe citada, mas cometi erros.

Agradeço a quem me esclarecer os erros cometidos e como escrever o código corretamente.

Estou usando codeblocks e o compilador é o gcc 4.2.4 para windows.Abraços.

Segue o código:

#include <iostream>
#include <list>

using namespace std;

int main(void)
{
    //Declaração de variáveis.
    list<int> L1[3];
    list<int>::iterator it;
    list<int> *P1;
    int i, j;

    //Inicializa as três listas.
    for(i = 0; i < 3; i++){
        for(j = 0; j < 4; j++){
            L1[i].push_back(j);
        }
    }

    L1[2].pop_back();

    P1 = L1;

    for(i = 0; i < 3; i++){
        for(it = *(L1 + i).begin(); it != *(L1 + i).end(); it++){
            cout << *it << endl;
        }

        cout << endl;
    }

    return 0;
}

 

Editado por asantos38
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Ops!Perdão.

Meu programa começa com a declaração de um vetor de objetos list, um iterador, um ponteiro para list, e duas variáveis (i e j) para serem os contadores dos laços for.

Os dois primeiros laços servem para inicializar o vetor através do método push_back() de list.

O ponteiro aponta pata L1[0](P1 = L1;).

Os dois últimos laços servem para exibir os 12 valores armazenados no vetor, mas utilizando o ponteiro.

Link para o comentário
Compartilhar em outros sites

  • 0
#include <iostream>
#include <list>

using namespace std;

int main ( void ) {
    //Declaração de variáveis.
    list<int> L1[3];
    list<int>::iterator it;
    list<int> *P1;
    int i, j;
    
    //Inicializa as três listas.
    for ( i = 0; i < 3; i++ ) {
        for ( j = 0; j < 4; j++ ) {
            L1[i].push_back ( j );
        }
    }
    
    L1[2].pop_back();
    
    P1 = L1;
    
    for ( i = 0; i < 3; i++ ) {
        for ( it = (*( L1 + i )).begin(); it != (*( L1 + i )).end(); it++ ) {
            cout << *it << endl;
        }
        
        cout << endl;
    }
    
    return 0;
}

 

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,4k
×
×
  • Criar Novo...