Форум программистов, компьютерный форум CyberForum.ru

Для чего это в программе? - C++

Восстановить пароль Регистрация
 
струна
4 / 4 / 1
Регистрация: 10.03.2011
Сообщений: 92
26.06.2012, 14:37     Для чего это в программе? #1
Есть кусочки кода, не могу понять что они делаю в программе:

Первый кусочек:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void F2() {
 
char c; int i,j;
 
     for (i=0; i< 10; i++) {
 
     for (j=0; j< 10; j++)
 
          B[i].name[j] = 'a' + i + j;
 
     B[i].name[j]='\0'; }
 
c = B[1].zodiak[2]; }
Второй кусочек:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct dat8 { int dd,mm,yy; };
 
struct man8 {
 
char name[20];
 
dat8 dd[3];
 
     } A8[2] = {
 
                         {"Петров", {{1,10,1969},{8,8,1988},{3,2,1978}}},
 
                         {"Иванов",{{8,12,1958},{12,3,1976},{3,12,1967}}}
 
};
 
void F8() { int i1,i2;
 
i1 = A8[0].dd[0].mm; i2 = A8[1].dd[2].dd; }
Добавлено через 4 часа 9 минут
несколько добавлю, нужно Определить значения переменных после выполнения действий, а также содержимое формируемых элементов структуры. Может кто-нибудь сообразит что это вообще такое, но по мне так чего-то не хватает для ответа на поставленные вопросы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2012, 14:37     Для чего это в программе?
Посмотрите здесь:

книги туториалы мануалы по hex и debagger (да и объяснить для чего это) C++
C++ Как применить new, точнее для чего это нужно?
C++ Чего не хватает в программе?
C++ Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять.
Параметр rhs, что это и для чего (конструктор-копировщик) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
voral
345 / 325 / 46
Регистрация: 16.03.2008
Сообщений: 1,694
26.06.2012, 15:18     Для чего это в программе? #2
1. Обходит некий массив. В котором для элемента i. производит заполнение первых 10 символов поля name. По принципу:
берется код сивола a и к нему прибавляются значениея i и j
т.е. при i=0 j=0 B[0].name[0] = 'a'+0+0; т.е. 'a'
т.е. при i=0 j=1 B[0].name[1] = 'a'+0+1; т.е. 'b'
т.е. при i=0 j=2 B[0].name[2] = 'a'+0+2; т.е. 'c'
.....

т.е. при i=9 j=0 B[9].name[0] = 'a'+9+0; т.е. 'l' (если не ошибся с алфавитом)
т.е. при i=9 j=1 B[9].name[1] = 'a'+9+1; т.е. 'm'
т.е. при i=9 j=2 B[9].name[2] = 'a'+9+2; т.е. 'n'
.....

13 строка (за исключением закрывающей скобки - вообще не понятно зачем)
струна
4 / 4 / 1
Регистрация: 10.03.2011
Сообщений: 92
26.06.2012, 15:21  [ТС]     Для чего это в программе? #3
Спасибо большое, эта последняя строка меня как то и смущала, а может ошибочка вышла и она ко второму заданию подойдет?
voral
345 / 325 / 46
Регистрация: 16.03.2008
Сообщений: 1,694
26.06.2012, 15:25     Для чего это в программе? #4
Во втором куске на 19 строке будет:
i1=10
i2=12

В первом:
B[i].name -будут заполнены буквами по принципу описанному выше
с - неизвестно чему. т.к. в приведенном коде нет заполнения этого поле. Следовательно из тех данных что имеем ответ таков: c может равняться чему угодно при каждом исполнении кода.
струна
4 / 4 / 1
Регистрация: 10.03.2011
Сообщений: 92
26.06.2012, 15:42  [ТС]     Для чего это в программе? #5
Цитата Сообщение от voral Посмотреть сообщение
i1=10
i2=12
А вы не могли бы пояснить почему так получается?
voral
345 / 325 / 46
Регистрация: 16.03.2008
Сообщений: 1,694
26.06.2012, 15:49     Для чего это в программе? #6
Т.к. строки 10 - 14 заполнение массива A8 содержащего два элемента типа man8.

Каждый элемент представляет из себя структуру содержащую фамилию и массив из трех дат. (точнее элементов типа dat8).

Запись типа "A8[0].dd[0].mm" не что иное как работа с простыми массивами и структурами
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2012, 15:51     Для чего это в программе?
Еще ссылки по теме:

C++ Для чего это надо?
Какие паттерны используются в программе и для чего? C++
C++ Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
струна
4 / 4 / 1
Регистрация: 10.03.2011
Сообщений: 92
26.06.2012, 15:51  [ТС]     Для чего это в программе? #7
Вот теперь понятно, спасибо большое.
Yandex
Объявления
26.06.2012, 15:51     Для чего это в программе?
Ответ Создать тему
Опции темы

Текущее время: 15:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru