Skip to content

Instantly share code, notes, and snippets.

@kijamve
Created September 21, 2022 07:09
Show Gist options
  • Select an option

  • Save kijamve/6aab3f8fe10729ca92d57c1c95cf7c98 to your computer and use it in GitHub Desktop.

Select an option

Save kijamve/6aab3f8fe10729ca92d57c1c95cf7c98 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#include <stdlib.h>
// Se utiliza stdlib.h para las funciones malloc y free
int main() {
int *edades, *edad; // Apuntadores sedeclaran con * antes del nombre de variable
int N, i;
printf("Cuantas edades vas a ingresar?:\n");
scanf("%d", &N);
edades = malloc(sizeof(int)*N);
/*
La funcion malloc reserva en Memoria R un bloque de tamaño N * 4byte
y retorna un apuntador con la ubicacion del primer elemento del bloque
reservado.
*/
for(i = 0; i<N;++i) {
// ++i ó i++ es equivalente a i = i + 1, el resultado es igual.
printf("Ingrese la edad %d:\n", i+1);
scanf("%d", &edades[i]);
}
char existen_menores = 'N';
for(i = 0; i < N; ++i) {
//luego recorremos la lista completa para verificar
// si no hay algun elemento menor.
edad = edades + i;
printf("Posicion inicial: %u, Posicion si avanzamos %d elementos: %u\n", edades, i, edades + i);
//*edad es equivalente a edades[i]
printf("Edad Leida: %d y es igual que %d\n", *edad, edades[i]);
if (*edad < 18) {
existen_menores = 'S';
break; //Este permite interrumpir el ciclo...
}
}
if (existen_menores == 'S') {
printf("Existen Menores");
} else {
printf("No hay Menores");
}
free(edades);
/*
La funcion free le inica al sistema operativo que no va
usar mas la memora reservada.
Asi el podra disponerlo para otro programa.
*/
return 0;
}
#include <iostream>
using namespace std;
int main() {
int *edades, *edad; // Apuntadores se declaran con * antes del nombre de variable
int N, i;
cout << "Cuantas edades vas a ingresar?:\n";
cin >> N;
edades = new int[N];
/*
El reemplazo de malloc seria esta sintaxis:
<apuntador> = new <tipo de dato>[<numero de bloques>]
*/
for(i = 0; i<N;++i) {
// ++i ó i++ es equivalente a i = i + 1, el resultado es igual.
cout << "Ingrese la edad " << i+1 << ":\n";
cin >> edades[i];
}
bool existen_menores = false;
for(i = 0; i < N; ++i) {
//luego recorremos la lista completa para verificar
// si no hay algun elemento menor de edad.
edad = edades + i; // Se puede acceder sumando la cantidad de posiciones que deseamos avanzar.
//*edad es equivalente a edades[i]
cout << "Edad Leida: " << *edad << " es igual que " << edades[i] << "\n";
if (*edad < 18) {
existen_menores = true;
break; //Este permite interrumpir el ciclo...
}
}
if (existen_menores) {
printf("Existen Menores");
} else {
printf("No hay Menores");
}
delete [] edades;
/*
Se utiliza delete [] <apuntador> si es un arreglo
Se utiliza delet <apuntador> caso contrario.
*/
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment