Programación General > Pascal
Orientacion Con Operaciones De Matrices
rak40:
hola, a todos. Estoy haciendo un programa el que trabajo con una matriz cubica :comp: , y todo lindo, pero para cargarla me gustaria poner unas restricciones como por ejemplo, que solo se puedan ingresar numeros, y que los demas caracteres esten permitidos, y que la suma de las filas de esta matriz no sean superior a un numero determinado, esto me desconcierta, por que no lo puedo imaginar, si alguien me puede tirar una pista. si quieren mas informacion acerca de lo que quiero hacer diganlo nomas. bueno, espero que se entienda lo que quiero, saludos :hola:
Enko:
Nunca trabajé con arreglso cúbicos, pero se me hace que para recorrer las filas tendrías que tener 3 ciclos diferentes. Serian filas direccion x, filas direccion y , filas direccion z
filas del 1er eje
--- Código: Text --- for i:=1 to 10 for j:=1 to 10 for k:=1 to 10 v[i,j,k] filas 2do eje
--- Código: Text --- for j:=1 to 10 for i:=1 to 10 for k:=1 to 10 v[i,j,k] filas 3er eje
--- Código: Text --- for k:=1 to 10 for i:=1 to 10 for j:=1 to 10 v[i,j,k] Te soy sincero, no se a cual eje le correspode cada ciclo. Ademas ten'e en cuenta que el mismo eje lo podes recorrer en 2 sentido distintos.
Es decir
--- Código: Text --- es decir, i,j,k e i,k,jfor i:=1 to 10 for j:=1 to 10 for k:=1 to 10 v[i,j,k]
--- Código: Text --- for i:=1 to 10 for k:=1 to 10 for j:=1 to 10 v[i,j,k]
La verdad, ni idea, pero algo es mejor que nada no? (me fij'e en Google y no dice nada)
rak40:
gracias che. deje de lado la matriz cubica :lol: , es mucho para un principiante como yo. y por eso quiero sumar los valores de las filas de una matriz que yo ingreso, pero no logro que se sumen, lo sumo me devuelve el valos de la ultima columna de las filas. De verdad me estoy volviendo loko, y los libros mucho no los llego a entender del todo. bueno que se yo, se que parece una boludes que no me doy cuenta de mi error
{--------------------------------------------------------------------------}
program matrices;
uses crt;
const MAX_COLUMNA = 3;
MAX_FILA = 2;
Type COLUMNA = 1..MAX_COLUMNA;
FILA= 1..MAX_FILA;
MiEntero = integer;
tMatriz = Array[COLUMNA,FILA] of MiEntero;
var Matriz: tMatriz;
contadorg: integer;
{-----------------------------------------------------}
procedure carga(var mat: tMatriz);
var i: FILA;
j: COLUMNA;
begin
clrscr;
for i:=1 to MAX_FILA do
for j:=1 to MAX_COLUMNA do
begin
write ('ingrese el valor [', i, ', ', j,'] ');
readln (mat[i,j]);
end;
readkey;
end;
{-----------------------------------------------------}
procedure suma (mat: tmatriz);
type
tvector= array[FILA] of integer;
var
x: FILA;
y: COLUMNA;
matrizaux:tvector;
suma: integer;
begin
for x:=1 to MAX_FILA do
begin
for y:=1 to MAX_COLUMNA do
matrizaux[x,y]:=0;
begin
matrizaux:= matrizaux + mat[x,y];
end;
Writeln ('la suma de las columnas es ',matrizaux,'');
end
end;
{---------------------------------------------------------}
procedure imprime (mat: tMatriz);
var i: FILA;
j: COLUMNA;
begin
clrscr;
for i:=1 to MAX_FILA do
begin
for j:=1 to MAX_COLUMNA do
write (mat[i, j]:5);
writeln;
end;
readkey;
end;
{---------------------------------------------}
begin {estos es el cuerpo principal}
clrscr;
carga (matriz);
imprime (matriz);
readkey;
suma (matriz);
readkey;
end.
Enko:
Suma los campos de la primera fila
--- Código: Text --- var v: array[1..10, 1..10] of Integer; i: Integer; Suma: Integer;begin for i:=1 to 10 do begin Suma := Suma + v[1,i]; end;end. suma todos los campos
--- Código: Text --- for i:=1 to 10 do for j:=1 to 10 do Suma := Suma + v[j,i];
rak40:
gracias por el dato, COMPILA Y TODO :hola: :smartass:
Navegación
[#] Página Siguiente
Ir a la versión completa