| |
Mostrar Mensajes
|
|
Páginas: [1] 2
|
|
3
|
Programación / Programación General / Re: Matrices en Pascal (duda)
|
en: 19 Mayo 2008, 00:36
|
Tengo otro problemita, que es que el programa tiene un menú y cuando uno realiza una acción y termina de ejecutarla tiene que preguntar si se desea seguir y en caso afirmativo mostrar de nuevo el menú, pero mi programa no pregunta y muestra de nuevo el menú directamente  Dejo el código del cuerpo principal del programa, cualquier cosa pongo el código entero lo que pasa es que es muy largo...(menu es un procedimiento  ) while Ingreso<>'n' do begin menu(Eleccion); clrscr; writeln('Desea seguir utilizando el programa? s/n '); read(Ingreso); end;
esto mejor con un repeat, ya que el codigo se ejecuta por lo menos una vez. s2
|
|
|
|
|
4
|
Programación / Programación General / Re: Matrices en Pascal (duda)
|
en: 19 Mayo 2008, 00:30
|
Sí, pero el que dije yo también funciona  Procedure Maximo(a:TMatriz;var b:TPosiciones;n,m:integer); Var i,j,k,max,posicion:integer; Begin Max:=a[1,1]; posicion:=0;
for i:=1 to n do for j:=1 to m do begin if a[i,j]>max then begin max:=a[i,j]; posicion:=1; b[posicion].fila:=i; b[posicion].columna:=j; end else if a[i,j]=max then begin posicion:=posicion+1; b[posicion].fila:=i; b[posicion].columna:=j; end; end; writeln('El valor maximo es: ',max,' y aparece en las posiciones: '); for k:=1 to posicion do writeln('[',b[k].fila,',',b[k].columna,']'); End;  En el ultimo for, para imprimir los datos, puedes utilizar i o j para ahorrarte una variable. s2
|
|
|
|
|
5
|
Programación / Programación General / Re: Matrices en Pascal (duda)
|
en: 18 Mayo 2008, 23:22
|
no, si lo que quieres es saber cual es el valor maximo entero de la matriz, y las posiciones que ocupa si este se repite, puedes hacerlo recorreindo la matriz una vez.Yo haria esto: posicion:=0; max:=a[1,1]; {Suponemos le primer elemento como el maximo} For i:=1 to num_fila do For j:=1 to num_columna do {recorremos la matriz} Begin if a[i,j]>max then {Si encontramos un elemento mayor que max} begin max:=a[i,j]; {entonces ese elemento pasa a ser max} posicion:=0; {esto por si encontramos un valor max nuevo} end; {borramos las posiciones "antiguas"} if a[i,j]=max then {aqui se guardan las posiciones que ocupen } begin {todos los "max" repetidos} posicion:=posicion+1; b[posicion].fila:=i; b[posicion].columna:=j; end;
|
|
|
|
|
8
|
Programación / Programación General / Re: Matrices en Pascal (duda)
|
en: 18 Mayo 2008, 14:54
|
No barbate, en tu código no almacenas las posiciones cada vez que se encuentra con un número mayor que el máximo. Igual ya lo solucioné. Gracias!
estas seguro? el procedimiento busca el valor maximo y al encontrarlo guarda la posicion. Guarda las posiciones al encontrar el valor maximo en cualquier celda de la matriz y si encuentra un valor superior al maximo, se intercambia, ademas de resetear el contador posicion para guardar las posiciones de ese nuevo valor maximo. En tu anterior codigo se pisan las posiciones. s2
|
|
|
|
|
9
|
Programación / Programación General / Re: Matrices en Pascal (duda)
|
en: 17 Mayo 2008, 16:21
|
Asi? Procedure Valor_Maximo(a:Tmatriz;var b:Tvecposiciones;num_fila:integer;num_columna:integer;var max:integer); //Procedimiento que devuelve el valor maximo de la matriz y las posiciones que ocupa Var i,j,k,posicion:integer; Begin max:=0; For i:=1 to num_fila do For j:=1 to num_columna do Begin if a[i,j]>max then begin max:=a[i,j]; posicion:=0; end; if a[i,j]=max then begin posicion:=posicion+1; b[posicion].fila:=i; b[posicion].columna:=j; end; End; writeln('El valor maximo de la matriz es: ',max,'y aparece en las posiciones: ');
For k:=1 to posicion do writeln(b[posicion].fila,' ',b[posicion].columna); End;
|
|
|
|
|
11
|
Programación / Ejercicios / Re: Pascal: Buscar en una matriz.
|
en: 21 Abril 2008, 23:21
|
Ya conseguí hacer el apartado ese y terminar el programa . Si alguien quiere saber cómo lo hice, que me lo pida y le paso el apartado ese del buscador xD
¡Hasta otra! podrias pegar el codigo terminado, seguro que a muchos nos viene bien. un saludo
|
|
|
|
|
13
|
Programación / Programación C/C++ / Re: Mis Programas/Basicos
|
en: 13 Julio 2007, 19:11
|
en realidad no creo q funcione, segun estoy enterado la libreria conio.h q viene con devC++ no incluye los prototipos clrscr() ni gotoxy() entre otros, asi q tendras q buscar otra alternativa jeje d momento no se me ocurre nada x q yo estoy acostumbrado al conio.h d borland (y eso no es bueno), seguro alguien mas sabe el ekivalente gotoxy() para devC++ entonces utilizas el Turbo c?? me imagino que no se pueden utilizar esas librerias con el devc++. un saludo
|
|
|
|
|
14
|
Programación / Programación C/C++ / Re: Mis Programas/Basicos
|
en: 12 Julio 2007, 23:29
|
mmm es x la libreria conio.h d borland, eso lo resuelves agregando la libreria #include<stdlib.h> y en lugar de clrscr(); pon system("CLS"); y listo podria agregar la libreria conio.h??? Ahorra me da error: gotoxy muchas gracias
|
|
|
|
|
|
| |
|