Files
2026-10-31 11:14:30 -03:00

61 lines
1.9 KiB
C

/*
* Enunciado del Ejercicio: Modificación de Arreglos mediante Aritmética de Punteros
*
* Objetivo:
* Practicar el manejo de punteros y su relación con los arreglos estáticos en el lenguaje C,
* aplicando aritmética de punteros para recorrer y modificar los elementos almacenados en memoria.
*
* Descripción:
*
* Escribe un programa completo en C que realice las siguientes tareas:
*
* Declaración e Inicialización:
*
* Declara un arreglo estático de 5 enteros (int) e inicialízalo
* con valores arbitrarios de tu elección (por ejemplo: 5, 10, 15, 20, 25).
*
* Declara un puntero a entero (int *ptr) que apunte al inicio del arreglo.
*
* Procesamiento con Aritmética de Punteros:
*
* Utiliza un bucle (for o el de tu preferencia) para recorrer el arreglo únicamente mediante
* aritmética de punteros y el operador de indirección en la forma *(ptr + i) (o incrementando el puntero directamente).
*
* Dentro del bucle, suma 10 al valor actual almacenado en cada posición del arreglo.
*
* Salida por Consola:
*
* Muestra en pantalla los valores del arreglo antes y después de aplicar la modificación
* para verificar que el cambio se realizó correctamente en la memoria del arreglo original.
*
* Restricciones:
*
* Está prohibido utilizar la notación de corchetes (arreglo[i]) para acceder o modificar
* los elementos del arreglo dentro del bucle. Debes usar estrictamente la sintaxis de punteros (*(ptr + i)).
*/
#include <stdio.h>
#define V_LENGTH 5
void print_arr(int *);
int main(void){
int v1[V_LENGTH] = {5, 10, 15, 20, 25};
int* ptr_v1 = v1;
print_arr(ptr_v1);
for(int i=0; i<V_LENGTH; i++){
*(ptr_v1 + i) += 10;
}
print_arr(ptr_v1);
return 0;
}
void print_arr(int *arr){
printf("Array: ");
for(int i = 0; i < V_LENGTH; i++){
printf(" %d,", *(arr + i));
}
printf("\n");
}