|
Mostrar Mensajes
|
Páginas: [1] 2
|
1
|
Programación / .NET (C#, VB.NET, ASP) / Re: Máximo de cada fila de una matriz
|
en: 17 Septiembre 2013, 08:05 am
|
Pude solucionarlo, era una tonteria -.- el error estaba en la condicion For i = 1 To 5 For j = 2 To 2 If (maximo < vsdos(i, j)) Then
Maximo no tenia valor.. la solucion fue poner el vector que cargue antes (maximov(i) ) dios, como un error de tipeo me tuvo horas jajajaj, perdon las molestias y gracias. [MOD]: Usa las etiquetas para agregar código
|
|
|
2
|
Programación / .NET (C#, VB.NET, ASP) / Re: Máximo de cada fila de una matriz
|
en: 17 Septiembre 2013, 05:48 am
|
Hola, fije la segunda ya que en la primera (Segun cuando cargo el vector) las filas toman el valor maximo de la primera columna, mi matriz es de 5 x 2, muchas gracias, creo que es lo logico que funcione pero no se por que me tira cualquier valor, por ejemplo en la fila uno pongo 10 y 2, y me dice que el maximo es 2 u.u
|
|
|
5
|
Programación / Programación C/C++ / Re: Problema con un ejercicio
|
en: 10 Julio 2013, 15:23 pm
|
Eh, me mataste T_T jajaja, te pido disculpas, es que hace horas que estoy con esto y trate de hacerlo lo mejor que pude, soy un novato en programación, crei que a lo mejor si planteaba el codigo puntual donde estaba el problema alguien podria notarlo, y intente de muchas formas solucionarlo antes de recurrir al foro. Y no es que todo el programa no me funciona, funciona bien hasta el punto que marque, por las dudas inclui el codigo entero si era necesario Voy a tener en cuenta tus consejos, Gracias!
|
|
|
6
|
Programación / Programación C/C++ / Problema con un ejercicio
|
en: 10 Julio 2013, 14:12 pm
|
Buenos dias gente! Estoy tratando de determinar un problema que tengo puntualmente con el punto B, A continuación dejo mi código #include <stdio.h> #include <iostream> #include <conio.h> #include <stdlib.h> #include <string.h> #define CE 3+1 #define CM 12+1 #define CL 12+1
void inicio(char[][CL],int[]); void proceso(int[],float[],float[],float[][CE],float*); void Asterico(char); void ordenar(int[],char[][CL],float[]); void puntoa(int[],char[][CL],float[]); void puntob(float []); void puntod(float[][CE],char vnom[][CL]); int UsuContra(); int Menu();
int main () { UsuContra(); Menu(); }
void Asterisco(char asterisco[]) { int i=0; fflush(stdin); do { asterisco[i] = (unsigned char)getch(); if(asterisco[i]!=8) { printf("*"); i++; } else if(i>0) { printf("%s, %s, %s", (char) 8, (char) 32, (char) 8); i--; } fflush(stdin); }while(asterisco[i-1]!=13); asterisco[i-1] = 0; }
int UsuContra() { const char USUARIO[] ="123"; const char PASSWORD[] ="123"; const int intentos =3; int i,j=3; char usuario[100]; char clave[100];
for (i=0;i<intentos;i++) { j--; printf("Introduzca nombre de usuario\n"); scanf("%s", &usuario); if (strcmp(USUARIO, usuario) != 0) { printf("\tSu nombre de usuario es incorrecto. Intentos restantes %d\n", j ); continue; } printf("Ingrese su clave por favor"); Asterisco(clave); if (strcmp(PASSWORD, clave) != 0) { printf("\tSu clave es invalida. Intentos restantes %d\n", j); continue; } printf("\t== Usuario y clave correctos, accediento al programa ==\n"); break;
} if (i==intentos){ printf("\nSupero el numero de intentos, el programa se cerrara\t"); system("pause"); exit(0); }
} void inicio(char vnom[][CL],int vle[]) { int i; printf("Bienvenido a la carga de datos. Se redujo de 60 docentes a 4 para que sea mas sencilla su evaluacion.\n" ); printf("Primero, ingrese el legajo y la categoria a donde pertenece cada docente.\n"); for(i=1;i<CE;i++) { printf("Ingrese legajo:\n"); fflush(stdin); scanf("%d",&vle[i]); printf("Ingrese categoria a donde pertenece\n:");fflush(stdin);gets(vnom[i]);
}
} void proceso(int vleg[],float vsa[],float vsm[],float mme[][CE],float*total) { float vh = 0.0; int mes = 0; int leg = 0; int ch = 0; float s; int i; int vcmeses[12]; printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n"); printf("Procedamos al segundo lote de informacion.\n" ); printf("Teniendo en cuenta los docentes registrados en la base de datos.\n"); printf("ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹\n"); do { printf("Ingrese Legajo:\n"); fflush(stdin); scanf("%d",&leg); }while(leg<=0); while(leg != 0) { printf("Ingrese mes de registro:"); fflush(stdin); scanf("%d",&mes); printf("Ingrese la cantidad de horas trabajadas"); fflush(stdin); scanf("%d",&ch); printf("Ingrese valor de la hora"); fflush(stdin); scanf("%f",&vh); i=1; while(i<CE&&leg!=vleg[i])i++; if(i<=CE) { s=vh*ch; vsa[i]+=s; vsm[i]=vsm[i]+s; mme[mes][i]+=s; (*total)+=s; } if (i<CM){ vcmeses[i]+=s; } printf("Ingrese legajo o 0 para finalizar la carga"); fflush(stdin); scanf("%d",&leg); } }
void puntoa(int vle[],char vnom[][CL],float vsa[]) { int i; system("cls"); printf("\nPUNTO A"); printf("\n=======\n"); for(i=1;i<CE;i++)printf("\t Legajo: %d, Categoria: %s, Sueldo anual del docente %5.2f\n",vle[i],vnom[i],vsa[i]); getch(); }
void puntob(float vcmeses[]) { int i; system("cls"); printf("\nPUNTO B"); printf("\n=======\n"); for(i=1;i<CM;i++) printf("\t Numero del mes : %8d Cantidad de sueldo pagado %15.2f\n",i,vcmeses[i]); getch(); }
void puntod(float mme[][CE],char vnom[][CL]) {
system("cls"); int pos,i,f,c; float max; printf("\nPUNTO D Maximo sueldo pagado cada mes."); printf("\n=======\n"); for(f=1;f<CM;f++) { max = -999; for(c=1;c<CE;c++) if(mme[f][c] > max) { max = mme[f][c]; pos = c; } printf("\nMES:%8d Sueldo maximo pagado:%15.2fs y lo percibio un docente de la categoria numero %s\n",f,max,vnom[pos]); } }
int Menu () { int vle [CE]={0}; char vnom[CE][CL]; float vsa [CE]={0.0}; float vsm [CM]={0.0}; float mme [CM][CE]={{0.0}}; float total = 0.0; int opcion,validador=0; do { printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n"); printf("\t== Bienvenido al Menu del Programa ==\n"); printf("\t== Escoja la opcion deseada para continuar ==\n"); printf("\t== Primero es necesario que cargue los datos ==\n"); printf("\t0) Cargar datos\n"); printf("\t1) Punto A\n"); printf("\t2) Punto B\n"); printf("\t3) Punto D\n"); printf("\t3) Punto H\n"); printf("\t5) Salir del programa\n\n"); printf("ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹\n"); scanf("%d", &opcion);
switch (opcion) {
case 0: validador=validador+1; if(validador>=2){ system("cls"); printf("Datos ya cargados. No puede volver a realizar la operacion\n"); } else { printf("Accediendo a la carga de datos"); system("cls"); inicio(vnom,vle); proceso(vle,vsa,vsm,mme,&total);
} break; case 1: if(validador==0) { system("cls"); printf("ERROR. Primero debe cargar los datos.\n"); } else { printf("\t == Calculando sueldo anual de cada profesor == \n"); puntoa(vle,vnom,vsa); system("cls"); } break; case 2: if(validador==0) { system("cls"); printf("ERROR. Primero debe cargar los datos.\n"); } else {
printf("\t == Calculando total de sueldos pagados por cada mes == \n"); puntob(vsm); system("cls"); } break; case 3: if(validador==0) { system("cls"); printf("ERROR. Primero debe cargar los datos.\n"); } else { printf("\t == Calculando maximo sueldo pagado cada mes == \n"); puntod(mme,vnom); } break; case 4: if(validador==0) { system("cls"); printf("ERROR. Primero debe cargar los datos.\n"); } else {
printf("\t == Imprimiendo los datos solicitados ordenados de menor a mayor == \n"); } break; case 5: printf("\t ==Saliendo del programa == \n"); exit(0); default: printf("\tLa opcion %d ingresada no es valida. Vuelva a intentarlo\n", opcion); } }while(opcion!=10); Menu(); }
Les puntualizo las dos partes donde creo que esta el problema: void puntob(float vcmeses[]) { int i; system("cls"); printf("\nPUNTO B"); printf("\n=======\n"); for(i=1;i<CM;i++) printf("\t Numero del mes : %8d Cantidad de sueldo pagado %15.2f\n",i,vcmeses[i]); getch(); } void proceso(int vleg[],float vsa[],float vsm[],float mme[][CE],float*total) { float vh = 0.0; int mes = 0; int leg = 0; int ch = 0; float s; int i; int vcmeses[12]; printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n"); printf("Procedamos al segundo lote de informacion.\n" ); printf("Teniendo en cuenta los docentes registrados en la base de datos.\n"); printf("ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹\n"); do { printf("Ingrese Legajo:\n"); fflush(stdin); scanf("%d",&leg); }while(leg<=0); while(leg != 0) { printf("Ingrese mes de registro:"); fflush(stdin); scanf("%d",&mes); printf("Ingrese la cantidad de horas trabajadas"); fflush(stdin); scanf("%d",&ch); printf("Ingrese valor de la hora"); fflush(stdin); scanf("%f",&vh); i=1; while(i<CE&&leg!=vleg[i])i++; if(i<=CE) { s=vh*ch; vsa[i]+=s; vsm[i]=vsm[i]+s; mme[mes][i]+=s; (*total)+=s; } if (i<CM){ vcmeses[i]+=s; } El problema que estoy teniendo es que por ejemplo yo pongo a un profesor en el mes 4, y sin embargo el programa a la hora de darme el resultado me lo da en el mes 3 como maximo, no me aparece el resto de los meses, agradeceria de todo corazon a quien pudiera ayudarme a encontrar la solucion, muchisimas gracias
|
|
|
8
|
Programación / Programación C/C++ / Re: Ayuda con ejercicio a entregar en c++
|
en: 9 Julio 2013, 16:22 pm
|
Claro, entiendo, es mas sencillo y queda mas prolijo, el tema es que no voy a poder usarlas ya que no llegamos ahi todavia en clase. De ultima si se me complica mucho con el tema de las matrices y vectores tendre que hacerlo así, me quedare toda la noche u.u eso pasa por dejar las cosas a ultimo momento, el que me lee nunca haga esto D= jaja. Agradezco una ves mas tu ayuda. No me gusta molestar pero realmente no le encuentro la vuelta al asunto, y estoy hace horas, me siento frustrado, pero lo conseguire
|
|
|
9
|
Programación / Programación C/C++ / Re: Ayuda con ejercicio a entregar en c++
|
en: 9 Julio 2013, 16:10 pm
|
int main () { int vcat[3]={0}; int i=0,cat,mes,leg,ch; printf("Ingrese numero de LEGAJO del docente o 0 para finalizar la carga"); scanf("%d", &leg); while (leg!=0) { printf("Ingrese mes trabajado"); scanf("%d",&mes); printf("Ingrese categoria a la que pertenece el docente"); scanf("%d",&cat); printf("Ingrese la cantidad de horas que trabajo"); scanf("%d",&ch); } printf("Ingrese numero de LEGAJO del docente o 0 para finalizar"); } Hasta aqui he avanzado en lo que seria la carga de datos, el tema es que estoy mareado entre las matrices y vectores :_
|
|
|
10
|
Programación / Programación C/C++ / Re: Ayuda con ejercicio a entregar en c++
|
en: 9 Julio 2013, 16:05 pm
|
Eferion, muchisimas gracias por tu ayuda, he estado viendo muchos videos de estructuras (estoy hace horas con esto y no pude avanzar casi nada u.u) y es mas simple, el problema es que aun no lo vimos, y en lo posible quisiera evitarlas, hemos visto hasta Matrices y Vectores con el profesor, Gracias!
|
|
|
|
|
|
|