Matricez

Estado
Cerrado para nuevas respuestas.

AFQR-BARBAX

Lanero Reconocido
26 Dic 2001
447
Señores tengo que hacer un practica y no se como hacer esta parte.

Señor MigPosada o quien sepa logica y C++ me pueden ayudar?

La vuelta es que debo formar, centrar, intercambiar filas, sacar promedio de las columnas, mostrar la matriz, y volver al menu.

No se como intercambiar las filas, sacar el promedio de las filas, y que vuelva al menu sin que se quede. me ayudan? jejejej que man mas conchudo si o que? jeje
 

MigPosada

Lanero Reconocido
16 Mar 2002
1,160
No eres muy explicito así que hare lo que pueda.

Me imagino que estas utilizando arrays de 2 dimensiones para las matrices, como por ejemplo:

Código:
float matrix[3][4];

Debes tener en cuenta que las filas y las columnas son relativas, tu puedes decidir, por ejemplo, que el primer indice corresponde a las filas y el segundo a las columnas.

Y de este modo para acceder al elemento en la primera fila y la segunda columna y asignarle un valor (0.2, por ejemplo) colocarías:

Código:
matrix[0][1] = 0.2f;

Sobra decir que los indices van desde 0 hasta el numero de elementos menos 1.

Si necesitas sacar el promedio de una fila, es bastante sencillo. Simplemente avanzas a traves de los elementos en una fila acumulando sus valores, y luego divides el total entre el numero de elementos por cada fila.

Código:
int fila = 2; // Vamos a sacar el promedio de la fila 2
float total = 0.0f;
for( int c = 0; c < 4; c++ ) // Suponemos 4 elementos por fila
  total += matrix[fila][c];
float promedio = total / 4.0f;
// Y ya tienes tu promedio!

Intercambiar elementos también es bastante sencillo, solo ten en cuenta una variable temporal donde alojar los valores mientras los intercambias, por ejemplo, para intercambiar dos numeros enteros:

Código:
int temp = n1;
n1 = n2;
n2 = temp;
// Ahora n1 tiene el valor antiguo de n2 y
// n2 tiene el valor antiguo de n1

Entonces para intercambiar los elementos de dos filas, haces algo así como esto:

Código:
int fila1 = 0; // Intercambiaremos la primera y segunda filas
int fila2 = 1;
float temp;
for( int c = 0; c < 4; c++ ) // Suponemos 4 elementos por fila
{
  temp = matrix[fila1][c];
  matrix[fila1][c] = matrix[fila2][c];
  matrix[fila2][c] = temp;
}

Y lo de los menus, no tengo la más minima idea de que estes haciendo.

Espero que te sirvan los ejemplos que te doy, pero recuerda ! son sólo ejemplos ! (Hay algunos newbies que se la pasan Cut and Paste y luego no tienen ni idea de donde estan parados).
 

AFQR-BARBAX

Lanero Reconocido
26 Dic 2001
447
BIEN...Señor MigPosada muchas gracias por su ayuda ahora vere si me sirve o no y ahora vuevlo y lo molesto si me atranco claro esta. jeje
 

ZeSx66

Moderator
Miembro del equipo
3 Jun 2001
3,953
Gente apenas estoy comenzando esto, y me pidieron hacer en "cosabasic" (algo parecido en Qbasic) un ajedrez en modo texto, me podrian dar ideas por favor....
Gracias
 

JulianD

Lanero Reconocido
13 Abr 2001
9,552
Uy, no es por asustarte, pero te pidieron que el ajedrez tuviera inteligencia artificila?
 

ODDG

LANero Fundador
Lanero VIP
13 Abr 2001
1,548
Originalmente colocado por ZeSx66
Gente apenas estoy comenzando esto, y me pidieron hacer en "cosabasic" (algo parecido en Qbasic) un ajedrez en modo texto, me podrian dar ideas por favor....
Gracias


Seguro es dibujar el tablero imitado en arreglos, es un ejercicioy es sencillo. En realidad es eso?
 

ZeN<CyBeRKiLLeR>

LANero oficial
15 Abr 2001
2,486
Y uno como le pone inteligencia artificial a algo? un ramdom o que?

porque yo el semestre pasado hice en java un ajedrez y le defini las posibles jugadas y lo unico que hacia era un random con semilla la hora del sistema, pero hacia unas jugadas tan brutas, que eso parecia no se, cauvi en ajedrez!.
 

MigPosada

Lanero Reconocido
16 Mar 2002
1,160
Hahaha, la tienen montada a Cauvi!

Recuerda:

RANDOM != INTELIGENCIA

Cómo puedes esperar una AI de esa manera?

Hacer un juego de Ajedrez inteligente realmente es una tarea titánica para un programador corriente. Ni John Carmack. Se requiere un grupo respetable de programadores con amplia experiencia en AI.
 

ZeSx66

Moderator
Miembro del equipo
3 Jun 2001
3,953
Ups... bueno no el ajedrez no necesita inteligencia artifial, solo que cante jaque cuando debe y no deje jugar cuando se requiera bueno con todas las reglas del caso
 

JulianD

Lanero Reconocido
13 Abr 2001
9,552
En el ajedrez lo que hace la computadora es probar y probar las posibles jugadas, para al final escojer la mejor.... Eso son millones de posibles jugadas las que calcula la computadora.. Uff
 

Kain

Lanero Reconocido
16 Jul 2001
1,985
Exactamente que deseas, que sepa las reglas del ajedrez o que juegue ajedrez, porque esto ultimo es durisimo
 
Estado
Cerrado para nuevas respuestas.