61 lines
1.9 KiB
C
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");
|
|
}
|