• Sábado 12 de Julio de 2025, 07:15

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - cerberos1990

Páginas: [1]
1
C/C++ / problema programacion en c
« en: Lunes 16 de Noviembre de 2009, 22:31 »
tengo este codigo es un programa que se ingresan numeros enteros y la salida es un ranking de 5 numeros mayores o menores ascendentes o descendentes segun quiera el usuario de numeros semiperfectos y el porcentaje de numeros semiperfectos. Y hasta ahroa tengo esto pero compilo y tira errores alguien me ayuda?

#include <stdio.h>



void RevisarFinDatos (int* haydatos)
{
char rta;
do{
printf('Desea ingresar dato? (S/N)');
scanf (rta);
}
while(rta != 'S' || rta != 'N')
*haydatos = 1;
if(rta == 'N') {
*haydatos = 0;
}
}

void IngresarOrden (char* orden1,char* orden2){
do
{
printf('Ingrese "A" si desea que el orden de salida de datos sea ascendente o "D" si desea que sea descendente');
scanf(*orden1);
}
while(*orden1 != 'A' || *orden1 != 'D');



do{
printf('Ingrese "M" si desea que se muestren los 5 mayores o "E" si desea que se muestren los 5 menores');
scanf(*orden2);
}
while(*orden2 != 'M' || *orden2 != 'E');
}


void PrimerIngreso (int* continuar,char* orden1,char* orden2)
{
Revisarfindatos(continuar);
if(*continuar == 1){
IngresarOrden (orden1, orden2);
}
}


void MostrarRanking(char orden1,int[] A,int CE)
{
if(CE != 0){
if(orden1 == 'A'){
for(int i = 0; i == ce-1; i++){
prinf(A);
}
}
else
{
for(int i = CE-1; i == 0; i++){
printf(A);
}
}
}
else
{
printf('No se ingresaron numeros');
}
}


void Ranking (int dato,char orden2,int[] A, int* CE)
{
if(orden2 == 'M'){
i = *CE-1;
while(i >= 0) {
if(A < dato ){
A[i+1] = A;
i = i-1;
}
}


A[i+1] = dato;
if(*CE < MAX-1){
ce++;
}
else
{
i = *CE-1;
}
while(i >= 0) {
if(A > dato ){
A[i+1] = A;
i--;
}
}
A[i+1] = dato;
if(*CE < MAX-1){
*CE++;
}
}
}


void IngresarEnteroPositivo (int* N)
{
do
{
printf('Ingrese entero positivo');
scanf(*N);
}
while(*N <= 0)
}



void Porcentaje (int total, int es)
{
if (total <> 0) {
printf('El porcentaje de numeros perfectos es', es*100/total);
}
else{
printf('No se procesaron numeros');
}


}


bool EsSemiperfecto(int n)
{
int suma = 0;
int es = 0;
for(int i = n/2; i= 1; i++){
if(n % i == 0)
{
suma++;
if(suma > n)
{
suma--;
}
}
}
if(suma == n)
{
es = 1;
}
return es;
}


void main()
{
int ce = 0;
int total = 0;
int es = 0;
int continuar;

PrimerIngreso(&continuar, &orden1, &orden2);


while (continuar != 0)
{


IngresarEnteroPositivo(&N);
total++;
if (EsSemiperfecto(N)){
Ranking(N, orden2, &salida, &CE);
es++;
}
RevisarFinDatos(&continuar);
}
MostrarRanking(salida, CE);
Porcentaje(total, es);
}

Páginas: [1]