|
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.
Mensajes - cerberos1990
Páginas: [1]
1
« en: Miércoles 18 de Noviembre de 2009, 04:28 »
Me tira un error: General Protection Exception En la linea 79 osae en ni idea que sera
2
« en: Martes 17 de Noviembre de 2009, 19:52 »
Por casualidad encontras algun error en el codigo del Procedimiento Ranking? #include <stdio.h> #define MAX 6 void RevisarFinDatos (int* haydatos) { char rta; do{ fflush(stdin); printf("Desea ingresar dato? (S/N)"); scanf("%c", &rta); } while(rta == 'S' && rta == 'N'); *haydatos = 1; if(rta == 'N') { *haydatos = 0; } } void IngresarOrden (char *orden1,char *orden2){ do { fflush(stdin); printf("Ingrese 'A' si desea que el orden de salida de datos sea ascendente o 'D' si desea que sea descendente"); scanf("%c", orden1); } while(*orden1 != 'A' && *orden1 != 'D'); do{ fflush(stdin); printf("Ingrese 'M' si desea que se muestren los 5 mayores o 'E' si desea que se muestren los 5 menores"); scanf("%c", 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) { int i; if(CE != 0){ if(orden1 == 'A'){ for(i = 0; i == CE-1; i++){ printf("%d", &A[i]); } } else { for(i = CE-1; i == 0; i--){ printf("%d", &A[i]); } } } else { printf("No se ingresaron numeros"); } } void Ranking (int dato,char orden2,int A[], int* CE) { int i; if(orden2 == 'M'){ i = *CE-1; while(i >= 0) { if(A[i] < dato ){ A[i+1] = A[i]; i = i-1; } } A[i+1] = dato; if(*CE < MAX-1){ *CE++; } else { i = *CE-1; } while(i >= 0) { if(A[i] > dato ){ A[i+1] = A[i]; i--; } } A[i+1] = dato; if(*CE < MAX-1){ *CE++; } } } void IngresarEnteroPositivo(int* N) { do { fflush(stdin); printf("Ingrese entero positivo"); scanf("%d", N); } while(*N <= 0); } void Porcentaje (int total, int es) { int h = es*100/total; if (total != 0) { printf("El porcentaje de numeros perfectos es %d", h); } else{ printf("No se procesaron numeros"); } } int EsSemiperfecto(int n) { int i; int suma = 0; int es = 0; for(i = n; i >= 1; i--){ if(n % i == 0) { suma=suma+n; if(suma > n) { suma=suma-n; } } } if(suma == n) { es = 1; } return es; } void main() { int ce = 0; int total = 0; int es = 0; int continuar; int salida[MAX]; char orden1; char orden2; int N; int CE; PrimerIngreso(&continuar, &orden1, &orden2); while (continuar != 0) { IngresarEnteroPositivo(&N); total++; if (EsSemiperfecto(N)){ Ranking(N, orden2, salida, &CE); es++; } RevisarFinDatos(&continuar); } MostrarRanking(orden1, salida, CE); Porcentaje(total, es); }
3
« en: Martes 17 de Noviembre de 2009, 03:41 »
Me re sirvio lo que me dijiste lo que si...
void MostrarRanking(char orden1,int[] A,int CE)
en esta linea me aparece ) expected :| y no encuentro la razon el resto ya lo solucione todo...
4
« 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]
|
|
|