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

Массивы. Не могу понять как работает программа - C++

Восстановить пароль Регистрация
 
FeniX_617
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 6
28.10.2015, 18:03     Массивы. Не могу понять как работает программа #1
Здравствуйте. Я как и многие в этом разделе новичок. У меня возникли трудности в понимании данной программы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
 char s[] = "TAGE";
 char t[] = "WOCHE";
 int a = 32;
 for (int i=0; i<5; i=i+1) {
 s[(a+i)%4] = t[(a-i)%4];
 }
 cout << s << t;
 
 return 0;
}
А именно каким образом будет осуществляться вывод символов в данной программе и как работает программа в этом месте
C++
1
2
3
4
for (int i=0; i<5; i=i+1) {
 s[(a+i)%4] = t[(a-i)%4];
 }
 cout << s << t;
Заранее спасибо.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GbaLog-
Не Эксперт C++
1474 / 619 / 174
Регистрация: 24.08.2014
Сообщений: 2,527
Записей в блоге: 1
Завершенные тесты: 2
28.10.2015, 18:11     Массивы. Не могу понять как работает программа #2
FeniX_617, Ну в строке
s[(a+i)%4] = t[(a-i)%4];
Номер элемента (a+i)%4 это будет примерно так. (32+i)%4
Оператор % вычисляет остаток от деления, например, 4%4 выдаст 0, потому что 4/4 = 1.0, а 5%2 = 1.
Или вас цикл не понятен?
FeniX_617
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 6
28.10.2015, 20:26  [ТС]     Массивы. Не могу понять как работает программа #3
Как оператор вычисляет это понятно.
makfak, не понятен именно цикл и процесс вывода символов с программы. Что за чем следует.
Barrent
 Аватар для Barrent
211 / 87 / 27
Регистрация: 04.05.2013
Сообщений: 260
Завершенные тесты: 1
28.10.2015, 20:57     Массивы. Не могу понять как работает программа #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
    char s[] = "TAGE";
    char t[] = "WOCHE";
    int a = 32;
    char c;                     //символ
    for (int i = 0; i<5; i = i + 1) {
        //копируем символ из t
        c = t[(a - i) % 4];     //индексы: 32%4=0, 31%4=3, 30%4=2, 29%4=1, 28%4=0
        //записываем символ в s
        s[(a + i) % 4] = c;     //индексы: 32%4=0, 33%4=1, 34%4=2, 35%4=3, 36%4=0
    }
    cout << s;                  //вывод строки s
    cout << t;                  //вывод строки t
FeniX_617
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 6
28.10.2015, 21:07  [ТС]     Массивы. Не могу понять как работает программа #5
А как в результате тогда получилось?

C++
1
WHCOWOCHE
Barrent
 Аватар для Barrent
211 / 87 / 27
Регистрация: 04.05.2013
Сообщений: 260
Завершенные тесты: 1
28.10.2015, 21:14     Массивы. Не могу понять как работает программа #6
FeniX_617,
Вывели в консоль сначала строку s, а потом строку t без пробелов и переходов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2015, 21:27     Массивы. Не могу понять как работает программа
Еще ссылки по теме:

C++ Не могу понять, как работает программа
C++ Не могу понять, почему программа неправильно работает!
Не могу понять, как работает программа C++

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

Или воспользуйтесь поиском по форуму:
FeniX_617
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 6
28.10.2015, 21:27  [ТС]     Массивы. Не могу понять как работает программа #7
Все, спасибо. Разобрался.
Yandex
Объявления
28.10.2015, 21:27     Массивы. Не могу понять как работает программа
Ответ Создать тему
Опции темы

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