Está en la página 1de 3

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAB DEL

CUSCO
FACULTAD DE INGENIERIA ELECTRICA, ELECTRONICA, INFORMATICA Y
MECANICA
ESCUELA PROFESIONAL DE INGENIERÍA INFORMÁTICA Y DE SISTEMAS

Presentado por la estudiante:

Marisol Lope torres

Como parte de curso:

Algoritmos Paralelos y Distribuidos

A cargo del docente:


Carlos Fernando Montoya Cubas

Semestre académico 2023-I


3. Aplicación de la Guía
En todos los siguientes ejercicios deber ́a hacer uso de punteros en C.
2. Escriba una función que reciba dos números enteros y los devuelva ordenados. Es
decir que en el primer parámetro debe devolver el menor valor y en el 2do. el mayor.

3.Que valor puede almacenar void *vptr;?


El valor que puede almacenar en un código en c++ es que el void* puede
almacenar dirección de memoria de cualquier tipo de objeto. Esto nos dice que
puede apuntar void* cualquier r tipo de dato, como enteros, flotantes, estructuras,
objeto de clase y otros.
Sin embargo, debido a void* es un sin tipo, no se puede acceder directa que
apuntara.
Entonces lo que hace es crear void* vptr esta es utilizada para almacenar las
direcciones de memoria de una variable entera o de un tipo flotante o de un char.
4. Analizar el siguiente código:

Este código no funciona por que tenemos un problema con la variable temp en la
función de swap. La variable temp es declara como un puntero, y no se le asigna
ninguna memoria de antes.
En este código lo que hemos es incluir la biblioteca #include<iostream< en vez de
<studio.h> para utilizar las funciones de entrada y salida de c++.Cabíamos el printf por
std::cout para imprimir los valores en la salida. En el swap lo que hacemos s cambiar
solo a un tero en lugar de un putero. Eliminar int* temp ya que ahora es solo un
entero.
#include <iostream>
void swap(int* i, int* j) {
int temp = *i;
*i = *j;
*j = temp;
}
//programa
int main() {
int a = 14;
int b = 19;
swap(&a, &b);

std::cout << "Los valores cambiados son: " << a << ", " << b << std::endl;
//retorna
return 0;
}
5. Un puntero puede ser usado para decir a una función donde debe depositar el
resultado de sus cálculos. Escriba una función hm que convierta minutos en horas y
minutos. La función recibe un entero mnts y las direcciones a dos variables enteras,
digamos h y m, y atribuye valore a esas variables de modo de m sea menor que 60 y
que 60 * h + m sea igual a mnts. Además escriba la función main que use la función
hm.
#include <iostream>
void hm(int mnts, int* h, int* m) {
*h = mnts / 60; // Cálculo de las horas
*m = mnts % 60; // Cálculo de los minutos restantes
}

int main() {
int minutos, horas, minutos_restantes;
//ingresa la cantidad de minutos
std::cout << "Ingrese la cantidad de minutos: ";
std::cin >> minutos;

hm(minutos, &horas, &minutos_restantes);

std::cout << "Equivalente: " << minutos << " minutos son " << horas << "
horas y " << minutos_restantes << " minutos." << std::endl;
//retorna
return 0;
}

También podría gustarte