Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. #include
  2. using namespace std;
  3. // CORRIJA -> registro composto de um campo inteiro e um ponteiro para um outro registro do mesmo tipo
  4. struct noh{
  5. int dado;
  6. noh* &prox;
  7. };
  8. int main() {
  9. int i, total, soma=0;
  10. int ptrV[5] = {5,4,3,2,1};
  11.  
  12. // CORRIJA -> aloca um vetor de registro dinamicamente
  13. int* vetor = new noh[5];
  14. i=0;
  15. while(i < 5) {
  16. vetor[i].dado = ptrV[i];
  17. soma+=vetor[i].dado;
  18. if (i != 4){
  19. vetor[i].prox = ptrV[i+1];
  20. } else{
  21. vetor[i].prox = NULL;
  22. }
  23. i++;
  24. }
  25.  
  26. int *ptrValor = &total;
  27.  
  28. // CORRIJA -> atribui o dobro de soma ao valor apontado por ptrValor
  29. // (não é permitido usar soma diretamente)
  30. ptrValor = soma*2;
  31.  
  32. // CORRIJA -> imprime o valor apontado por prox em cada posição e o valor de total (indiretamente)
  33. // (note: imprime valor apontado, não o endereço).
  34. // Se não for possível imprimir o valor apontado por prox, imprima 0
  35. cout << vetor[i].prox << " " << *ptrValor<<"endl;"
  36.  
  37.  
  38. // CORRIJA -> desaloca objetos alocados dinamicamente
  39. // (apenas objetos alocados dinamicamente devem ser desalocados)
  40. delete ptrValor;
  41. delete vetor[].prox;
  42. delete ptrV;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement