Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include
- using namespace std;
- // CORRIJA -> registro composto de um campo inteiro e um ponteiro para um outro registro do mesmo tipo
- struct noh{
- int dado;
- noh* &prox;
- };
- int main() {
- int i, total, soma=0;
- int ptrV[5] = {5,4,3,2,1};
- // CORRIJA -> aloca um vetor de registro dinamicamente
- int* vetor = new noh[5];
- i=0;
- while(i < 5) {
- vetor[i].dado = ptrV[i];
- soma+=vetor[i].dado;
- if (i != 4){
- vetor[i].prox = ptrV[i+1];
- } else{
- vetor[i].prox = NULL;
- }
- i++;
- }
- int *ptrValor = &total;
- // CORRIJA -> atribui o dobro de soma ao valor apontado por ptrValor
- // (não é permitido usar soma diretamente)
- ptrValor = soma*2;
- // CORRIJA -> imprime o valor apontado por prox em cada posição e o valor de total (indiretamente)
- // (note: imprime valor apontado, não o endereço).
- // Se não for possível imprimir o valor apontado por prox, imprima 0
- cout << vetor[i].prox << " " << *ptrValor<<"endl;"
- // CORRIJA -> desaloca objetos alocados dinamicamente
- // (apenas objetos alocados dinamicamente devem ser desalocados)
- delete ptrValor;
- delete vetor[].prox;
- delete ptrV;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement