C/Visual C - matrices, textcolor problema

 
Vista:

matrices, textcolor problema

Publicado por Francisco Chavez (3 intervenciones) el 16/07/2005 04:50:08
Buenas, tengo un programita en c que contiene alguna de estas lineas:

if(exp>60 && exp<100)
cprintf("%c",M[i][j]='0');
textcolor(YELLOW+BLINK);
}
if(exp>59 && exp<60)
cprintf("%c",M[i][j]='*');

La idea es que solo parpadee cuando la matriz es "cero" y que en ambos casos tenga color amarillo, el problema es que no funciona.
cuando le quito cprintf, por print, el turbo c sigue mostrando el color amarillo, y hace que parpadee en ambos casos.

favor ayudar a este porbre estudiante.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE: Compañeros, no puedo con este tema!

Publicado por Claudio (1 intervención) el 16/07/2005 05:00:17
realmente no puedo localizar la haberia en tu codigo, espero que algun otro programmer pueda.

suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:matrices, textcolor problema

Publicado por Franco Cedillo (36 intervenciones) el 16/07/2005 08:19:48
Hola

Me gustaría ver el código completo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

codigo completo!

Publicado por Francisco Chavez (3 intervenciones) el 18/07/2005 03:03:22
este es el codigo de la aplicacion, el problema lo tengo en textcolor, casi al final del programa.

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#define mf 22
#define mc 40
void main(){
double I[mf][mc],exp;
int i,j;
char M[mf-1][mc-1];
randomize();
for(i=0;i<mf;i++)
for(j=0;j<mc;j++){
I[i][j]=random(100);
M[i][j]=' ';
}
for(i=0;i<mf;i++)
for(j=0;j<mc;j++){
if(i==0 && j==0)
exp=sqrt(double (I[0][1]+I[1][0]+I[1][1]))+I[0][0];
if(i==0 && j==mc-1)
exp=sqrt(double (I[0][mc-2]+I[1][mc-2]+I[1][mc-1]))+I[0][mc-1];
if(i==mf-1 && j==0)
exp=sqrt(double (I[mf-2][0]+I[mf-2][1]+I[mf-1][1]))+I[mf-1][0];
if(i==mf-1 && j==mc-1)
exp=sqrt(double (I[mf-1][mc-2]+I[mf-2][mc-2]+I[mf-1][mc-1]))+I[mf-1][mc-1];
if(i==0 && j==!mc-1 && j==!0)
exp=sqrt(double (I[0][j-1]+I[0][j+1]+I[1][j-1]+I[1][j]+I[1][j+1]))+I[0][j];
if(i==mf-1 && j==!mc-1 && j==!0)
exp=sqrt(double (I[mf-1][j-1]+I[mf-1][j+1]+I[mf-2][j-1]+I[mf-2][j]+I[mf-2][j+1]))+I[mf-1][j];
if(j==0 && i==!mf-1 && i==!0)
exp=sqrt(double (I[i-1][0]+I[i-1][1]+I[i][1]+I[i+1][0]+I[i+1][1]))+I[i][0];
if(j==mc-1 && i==!mf-1 && i==!0)
exp=sqrt(double (I[i-1][mc-1]+I[i-1][mc-2]+I[i][mc-2]+I[i+1][mc-1]+I[i+1][mc-2]))+I[i][mc-1];
if(i!=0 && i!=mf-1 && j!=0 && j!=mc-1)
exp=sqrt(double (I[i-1][j-1]+I[i-1][j]+I[i-1][j+1]+I[i][j-1]+I[i][j+1]+I[i+1][j-1]+I[i+1][j]+I[i+1][j+1]))+I[i][j];

if(exp>59 && exp<60)
printf("%c",M[i][j]='*');
if(exp>60 && exp<100)
cprintf("%c",M[i][j]='0');
textcolor(YELLOW+BLINK);


}

clrscr();
for(i=0;i<mf;i++){
for(j=0;j<mc;j++)
printf("%c",M[i][j]);
printf("\n");
}
getche();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:matrices, textcolor problema

Publicado por El Obe (5 intervenciones) el 19/07/2005 05:01:24
INTENTA ASI:
//------------------------------------------------------------------
if(exp>60 && exp<100){
cprintf("%c",M[i][j]='0');
textcolor(YELLOW+BLINK);}
}
if(exp>59 && exp<60)
cprintf("%c",M[i][j]='*');
//-----------------------------------------------------------------
solo agregue llaves para poner " cprintf("%c",M[i][j]='0');
textcolor(YELLOW+BLINK);" dentro del primer IF sino solo toma el cprint como parte del if y luego le da el text color a todo. mandame un email contestandome si funciono pliz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar