Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Прокоментируйте код


Автор: Roma92 30.10.2010, 20:30
Если можете пожалуста прокоментируйте каждую строчку, что мы сдесь делаем.....
AnsiString s;
int a1,a2,b1,b2;
s=Edit1->Text ;
for(int c=1;c<=s.Length();c+=2)
{
for(int j=0;j<5;j++)
for(int i=0;i<5;i++)
{
if(AnsiString(s[c])==(sg1->Cells[i][j]))
{b1=i; a1=j; }
if (AnsiString(s[c+1])==(sg4->Cells[i][j]))
{b2=i; a2=j; }
}
Edit2->Text=Edit2->Text+sg2->Cells[b2][a1]+sg3->Cells[b1][a2];
}
}

Автор: oldcode 31.10.2010, 22:03
а самому попробовать западло ?
типа, 
Код

// объявляем строку с именем S
// объявляем целочисленные значения с именами a1,a2,b1,b2;
// инициализируем строку S = текст элемента управления Edit1 ...
 и т.д., с песней...
и попросить подправить, коли что...

Автор: gorillka 1.11.2010, 10:34
Код

AnsiString s;          //инициализируем строку s
int a1,a2,b1,b2;    //инициализируем целочисленные переменные 
s=Edit1->Text ;     //присваиваем переменной s значение поля Edit1 
for(int c=1;c<=s.Length();c+=2) //цикл просматривает строку s
{
for(int j=0;j<5;j++)
for(int i=0;i<5;i++)//вложенный цикл просматривает двух мерный массив
{
if(AnsiString(s[c])==(sg1->Cells[i][j])) //если не четный элемент строки s встречается в массиве sg1 
{b1=i; a1=j; } //то запоминаем строку и столбец элемента массива sg1 
if (AnsiString(s[c+1])==(sg4->Cells[i][j])) //если четный элемент строки s встречается в массиве sg4
{b2=i; a2=j; } //то запоминаем строку и столбец элемента массива sg4 
}
Edit2->Text=Edit2->Text+sg2->Cells[b2][a1]+sg3->Cells[b1][a2];//к значению поля Edit2 добавляем значение элемента массива sg2
// удовлетворимшим условие и значение элемента массива sg3 удовлетворимшим условие
}
} 

вроде так...
хотя мне не совсем понятно почему у тебя в условии массивы sg1 и sg4 а выводишь ты элементы sg2 и sg4

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)