Консультация № 142340
26.08.2008, 20:21
0.00 руб.
0 3 0
Здравсвуйте эксперты, пытался разобраться с цветами, но так все криво получается
i,j - символизируют строку и номер слова в этой строке
надо если в массиве good слово отмеченно 1, то из массива s (в котором каждое слово это массив из7 символов) написалось не белым цветом, если стоит 0, то белым
Очень надеюсь на вашу помочь, мои попытки с вашей помощью увы пока успехом не увенчались

Приложение:
#include<stdio.h>;
#include<conio.h>;
#include<stdlib.h>;
#include<ctype.h>;
main()
{

char s[20][10][7];
int i,j,k,r,b;
char c;
char GLAS[6]={'E','Y','U','I','O','A'};
int dl[20][9];
int sg[20][9];
int gl[20][9];
int kol[20];
int kol2[20];
int good[20][9];
clrscr();
for (i=0;i<20;i=i+1) for (j=0;j<9;j=j+1) {dl[i][j]=0;gl[i][j]=0;sg[i][j]=0;}
for (i=0;i<20;i=i+1) for (j=0;j<9;j=j+1) good[i][j]=1;
for (i=0;i<20;i=i+1) for (j=0;j<9;j=j+1) for (k=1;k<7;k=k+1) s[i][j][k]=32;
for (i=0;i<20;i=i+1)
{
for (j=0;j<9;j=j+1)
{
r=random(6)+2;
dl[i][j]=r;
for (k=0;k<r;k=k+1)
{
c=random(26)+65;
s[i][j][k]=c;
if ((c=='E')+(c=='U')+(c=='Y')+(c=='I')+(c=='O')+(c=='A')) gl[i][j]=gl[i][j]+1; else sg[i][j]=sg[i][j]+1;

}


}

}

for (i=0;i<20;i=i+1) {kol[i]=0; kol2[i]=0; }
for (i=0;i<20;i=i+1) for (j=0;j<9;j=j+1) if (dl[i][j]<3) kol[i]=kol[i]+1;
kol2[0]=kol[0];
for (i=1;i<20;i=i+1) if(kol[i]>=kol[i-1]) kol2[i]=kol[i]; else kol2[i]=0;

for(i=0;i<20;i=i+1) { printf("%d",kol[i]);printf(" ");}
printf("\n");
for(i=0;i<20;i=i+1) { printf("%d",kol2[i]); printf(" ");}
printf("\n");
for (i=0;i<20;i=i+1) {for (j=0;j<9;j=j+1) {for (k=0;k<7;k=k+1) printf("%c",s[i][j][k]); printf(" ");} printf("\n");}
getch();
for (i=0;i<20;i=i+1) { for (j=0;j<9;j=j+1) {printf("%d", sg[i][j]); printf("-"); printf("%d",gl[i][j]),printf(" ");} printf("\n");}
getch();
for (i=0;i<20;i=i+1) if (kol2[i]) {for (j=1;j<9;j=j+1) if (gl[i][j]>sg[i][j]) good[i][j]=0;} else for (j=1;j<9;j=j+1);
textcolor(GREEN);
clrscr();
for (i=1;i<20;i=i+1) {for (j=1;j<9;j=j+1) {printf("%d",good[i][j]); printf(" ");} printf("\n"); };
getch();
}

Обсуждение

Неизвестный
27.08.2008, 10:22
общий
Нет времени разбирать Ваш код, а задание описано не понятно для меня. Попробуйте сформулировать задачу попроще
ЗЫ : используйте не printf , а cprintf - тогда и очистка не нужна будет
Неизвестный
27.08.2008, 10:22
общий
Нет времени разбирать Ваш код, а задание описано не понятно для меня. Попробуйте сформулировать задачу попроще
ЗЫ : используйте не printf , а cprintf - тогда и очистка не нужна будет
Неизвестный
27.08.2008, 10:29
общий
А я уже разобрался
так там же не надо, я все нужное написал, там надо было если в good[i][j] =1 то одним цветом вывести слова s[i][j], если ноль то другим, но я уже все сделал, большое спасибо за предыдушие ответы, сейчас все таки самому получилось разобраться
Форма ответа