Consulta también:
- Ejercicio de punteros convertirlo c a c++
- Convertir youtube a mp3 con vlc - Guide
- Convertir png a ico con paint - Guide
- Convertir mp4 a mp3 - Programas - Conversores de audio
- Convertir excel a word - Guide
- Como activar el puntero de mi laptop - Guide
1 respuesta
usuario anónimo
Modificado el 12 jul 2021 a las 02:44
Modificado el 12 jul 2021 a las 02:44
Hola ahí está, el código, como c++ tiene alta compatibilidad sintáctica con c, no fueron demasiados cambios, de todas maneras asegúrate que no hayan errores de sintaxis y que el programa funcione bien, suerte espero te ayude, saludos.
#include <iostream>
#include <cstdlib> //está librería no está siendo utilizada
#include <cstring>
using namespace std;
#define OK 1
#define ERR -10001
#define MAX_DIM 100
int enteros[MAX_DIM];
int num_total;
int lectura(void);
int sacarpantalla(int max, int min, int num_total);
int calcular(int *max, int *min, int total);
int es_digito(char caracter[]);
int main(){
int menor;
int mayor;
if (lectura() == ERR){
cout << "error al leer el numero de terminos.\n";
return ERR;
}
if (calcular(&mayor, &menor, num_total) == ERR){
cout << "Error al intentar calcular el mayor y el menor";
return ERR;
}
if (sacarpantalla(mayor, menor, num_total) == ERR){
cout << "Error al mostrar por pantalla.\n";
return ERR;
}
return OK;
}
int lectura(void){
int continuar = OK;
char numeros[MAX_DIM];
int n;
for (n = 0; n < static_cast<int> (strlen(numeros)); ++n)
numeros[n] = '0';
cout << "numeros va a introducir? --> ";
do{
con >> numeros;
continuar = OK;
if ((num_total = es_digito(numeros)) == ERR)
continuar = ERR;
if (num_total <= 0)
{
cout << "Debe introducir un numero positivo.\n";
continuar = ERR;
}
} while (continuar != OK);
cout << "introduzca los numeros: \n";
for (n = 0; n < num_total; ++n){
cin >> numeros;
if ((enteros[n] = es_digito(numeros)) == ERR){
cout << "Error al leer el numero, por favor repita introduccion.\n");
--n;
}
}
return OK;
}
int calcular(int *max, int *min, int total){
for (int n = 1; n < total; ++n){
if (*min > enteros[n])
if (*max < enteros[n])
}
return OK;
}
int sacarpantalla(int max, int min, int num_total){
cout << "Los numeros introducidos son: ";
for (int n = 0; n < num_total; ++n)
cout << enteros[n] << " ,";
cout << "\nMinimo: " << min;
cout << "\nMaximo: " << max << endl;
return OK;
}
int es_digito(char caracter[]){
int i;
int num = 0;
int rango;
if (caracter[0] == 0)
return ERR;
if (caracter[0] == '-'){
i = 1;
rango = 5;
}
else
{
i = 0;
rango = 4;
}
if (static_cast<int> (strlen(caracter)) > rango){
cout << "No puede introducir esa cantidad de numeros!!!\n";
cout << "Es demasiado grande. Introduzca numeros entre -9999 y 9999\n";
return ERR;
}
for (; i < static_cast<int> (strlen(caracter)); ++i)
if (caracter[i] < '0' || caracter[i] > '9')
{
cout <<"\nIntroduzca unicamente digitos, por favor.\n");
return ERR;
}
if (strlen(caracter) == 1)
return (num = (caracter[0] - '0'));
for (i = 0; i != static_cast<int> (strlen(caracter)); ++i)
num = ((num * 10) + (caracter[i] - '0'));
return num;
}
#include <iostream>
#include <cstdlib> //está librería no está siendo utilizada
#include <cstring>
using namespace std;
#define OK 1
#define ERR -10001
#define MAX_DIM 100
int enteros[MAX_DIM];
int num_total;
int lectura(void);
int sacarpantalla(int max, int min, int num_total);
int calcular(int *max, int *min, int total);
int es_digito(char caracter[]);
int main(){
int menor;
int mayor;
if (lectura() == ERR){
cout << "error al leer el numero de terminos.\n";
return ERR;
}
if (calcular(&mayor, &menor, num_total) == ERR){
cout << "Error al intentar calcular el mayor y el menor";
return ERR;
}
if (sacarpantalla(mayor, menor, num_total) == ERR){
cout << "Error al mostrar por pantalla.\n";
return ERR;
}
return OK;
}
int lectura(void){
int continuar = OK;
char numeros[MAX_DIM];
int n;
for (n = 0; n < static_cast<int> (strlen(numeros)); ++n)
numeros[n] = '0';
cout << "numeros va a introducir? --> ";
do{
con >> numeros;
continuar = OK;
if ((num_total = es_digito(numeros)) == ERR)
continuar = ERR;
if (num_total <= 0)
{
cout << "Debe introducir un numero positivo.\n";
continuar = ERR;
}
} while (continuar != OK);
cout << "introduzca los numeros: \n";
for (n = 0; n < num_total; ++n){
cin >> numeros;
if ((enteros[n] = es_digito(numeros)) == ERR){
cout << "Error al leer el numero, por favor repita introduccion.\n");
--n;
}
}
return OK;
}
int calcular(int *max, int *min, int total){
- min = *max = enteros[0];
for (int n = 1; n < total; ++n){
if (*min > enteros[n])
- min = enteros[n];
if (*max < enteros[n])
- max = enteros[n];
}
return OK;
}
int sacarpantalla(int max, int min, int num_total){
cout << "Los numeros introducidos son: ";
for (int n = 0; n < num_total; ++n)
cout << enteros[n] << " ,";
cout << "\nMinimo: " << min;
cout << "\nMaximo: " << max << endl;
return OK;
}
int es_digito(char caracter[]){
int i;
int num = 0;
int rango;
if (caracter[0] == 0)
return ERR;
if (caracter[0] == '-'){
i = 1;
rango = 5;
}
else
{
i = 0;
rango = 4;
}
if (static_cast<int> (strlen(caracter)) > rango){
cout << "No puede introducir esa cantidad de numeros!!!\n";
cout << "Es demasiado grande. Introduzca numeros entre -9999 y 9999\n";
return ERR;
}
for (; i < static_cast<int> (strlen(caracter)); ++i)
if (caracter[i] < '0' || caracter[i] > '9')
{
cout <<"\nIntroduzca unicamente digitos, por favor.\n");
return ERR;
}
if (strlen(caracter) == 1)
return (num = (caracter[0] - '0'));
for (i = 0; i != static_cast<int> (strlen(caracter)); ++i)
num = ((num * 10) + (caracter[i] - '0'));
return num;
}