Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2010, 21:32   #1
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию Прокоментируйте код

Очень прошу, если можете прокоментировать код, каждую строчку детально что мы там делаем.....=))) На перед спасибо=)
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];
}
}
Romario92 вне форума Ответить с цитированием
Старый 30.10.2010, 21:48   #2
elja_1989
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 58
По умолчанию

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

Последний раз редактировалось elja_1989; 30.10.2010 в 21:51. Причина: formating
elja_1989 вне форума Ответить с цитированием
Старый 30.10.2010, 22:05   #3
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию

Спасибо огромное!!!!
Romario92 вне форума Ответить с цитированием
Старый 30.10.2010, 22:19   #4
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию

Можна еще етот...
AnsiString s;
s=Ed1->Text;
char b[50];
for(int j=1; j<=s.Length(); j++)
sg1->Cells[j][0]=s[j];
int d= s.Length();
for (int c=2; c<d; c+=6)
{
Ed2->Text=Ed2->Text+s[c];
}
for (int c=4; c<d; c+=6)
{
Ed2->Text=Ed2->Text+s[c];
}
for (int c=5; c<d; c+=6)
{
Ed2->Text=Ed2->Text+s[c];
}
for (int c=1; c<d; c+=6)
{
Ed2->Text=Ed2->Text+s[c];
}
for (int c=6; c<d; c+=6)
{
Ed2->Text=Ed2->Text+s[c];
}
for (int c=3; c<d; c+=6)
{
Ed2->Text=Ed2->Text+s[c];
}
}
Romario92 вне форума Ответить с цитированием
Старый 30.10.2010, 22:26   #5
elja_1989
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 58
По умолчанию

найди соответствия с первым и прокомментируй сам..
elja_1989 вне форума Ответить с цитированием
Старый 30.10.2010, 22:28   #6
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию

ну пожалуста, я вопше не знаю что мы сдесь делаеи, только ничили учить, я можна сказать немного чайник ещо в етом деле...=(((((((((
Romario92 вне форума Ответить с цитированием
Старый 30.10.2010, 22:28   #7
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Нельзя. Ты бы хоть раз попробовал бы что-нибудь сделать самостоятельно. Что ни тема - клянчишь халяву.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 30.10.2010, 22:33   #8
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию

Да я пробовал, та впринципе, что сдесь пробовать ,если я вопше незнаю как прокоментировать и что мы сдесь делаем, если знал бы тогда тут не писал бы...
Romario92 вне форума Ответить с цитированием
Старый 30.10.2010, 22:37   #9
elja_1989
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 58
По умолчанию

здесь*

включи мозг, здесь нет операций каких-то кроме индексирования и присваивания.
elja_1989 вне форума Ответить с цитированием
Старый 30.10.2010, 22:39   #10
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию

та что включать, если я вопше незнаю что и как сдесь в етом коде..
Romario92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прокоментируйте код Romario92 Общие вопросы C/C++ 0 26.10.2010 00:28
Прокоментируйте код автризации вк DinamoBrynsk Работа с сетью в Delphi 2 13.09.2010 10:45
Прокоментируйте программу "сглаживание матрицы", пожалуйста Makc++ Общие вопросы C/C++ 0 25.06.2009 18:30
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37
пожалуйста, прокоментируйте задачу! Rostzz Общие вопросы C/C++ 3 19.06.2008 01:32