-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdesafio_com_ponteiros.cpp
More file actions
95 lines (53 loc) · 2.27 KB
/
desafio_com_ponteiros.cpp
File metadata and controls
95 lines (53 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream>
using namespace std;
//enunciado no final para melhor leitura do código
void modificarFragmento(int *ptrFragmentos, int *ptrFragmentosModificados, int tamanho);
int main()
{
int tamanho = 5;
int fragmentos[tamanho]{1, 2, 3, 4, 5};
int fragmentosModificados[tamanho];
// int *ptrFragmentosModificados;
for (int i = 0; i < tamanho; i++)
{
cout << fragmentos[i] << endl;
}
cout << "-------------------------" << endl;
modificarFragmento(fragmentos, fragmentosModificados, tamanho);
for (int i = 0; i < tamanho; i++)
{
cout << fragmentosModificados[i] << endl;
}
return 0;
}
void modificarFragmento(int *ptrFragmentos, int *ptrFragmentosModificados, int tamanho)
{
for (int i = 0; i < tamanho; i++)
{
*(ptrFragmentosModificados + i) = *(ptrFragmentos + i) * 2;
}
}
/*
🏝️ Desafio: A Ilha dos Desafios – O Amuleto das Memórias
Contexto
Você é um aventureiro preso em uma ilha misteriosa chamada Ilha dos Desafios. Para escapar, precisa recuperar partes perdidas da Memória Ancestral, espalhadas em 5 templos mágicos. Cada templo guarda um fragmento de memória escondido dentro de uma estrutura de dados. A única forma de acessar, modificar e combinar essas memórias é usando ponteiros.
🎯 Objetivo
Criar um programa em C++ que:
Armazene 5 valores inteiros (fragmentos de memória) em um vetor.
Use ponteiros para:
Acessar cada valor.
Dobrar o valor de cada fragmento (como forma de "ativá-lo").
Armazenar os novos valores em um vetor separado.
Exibir os dois vetores (antes e depois da ativação).
🧠 Regras da Missão
Use ponteiros para manipular os valores — não pode usar acesso direto com colchetes ([]) na modificação.
Funções com ponteiros são obrigatórias — crie uma função void ativarFragmentos(int* original, int* ativados, int tamanho) para processar os dados.
A entrada dos valores pode ser fixa ou lida pelo usuário.
📥 Exemplo de Execução Esperada
Fragmentos encontrados: 4 7 1 3 8
Fragmentos ativados: 8 14 2 6 16
🧩 Dicas Técnicas
Use int* ptr = vetor; para criar ponteiros.
Use aritmética de ponteiros para navegar pelo vetor: *(ptr + i).
A função ativarFragmentos pode percorrer com laço for usando ponteiros.
*/