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

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

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2019, 15:20   #11
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

А ведь если б не выеживались и взяли листок, то на первом бы этапе увидели сравнения:
s[0] s[size - 1 - 0]
s[1] s[size - 1 - 1]
s[2] s[size - 1 - 2]
...
и вопрос было бы меньше... но вы продолжайте...
p51x вне форума Ответить с цитированием
Старый 21.06.2019, 15:22   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от lucykekson Посмотреть сообщение
s[s.size() - i - 1] что конкретно обозначает
s это ваша строка, которую надо проверить.
это понятно?
строка состоит из отдельных символов.
к каждому символу строки можно обратиться как к элементу массива по его индексу
нумерация начинается с нуля
если дана строчка lucykekson
то s[o] = l
s[1] = u
s[2] = c
...
s[8] = o
s[9] = n
теперь
про s.size()
это метод, который возвращает длину строки.
например, для строки lucykekson s.size() вернёт число 10
как же нам обратиться к последнему символу строки?
это можно сделать так:
s[ s.size() - 1 ]
после вычислений получится s[ 10- 1] получится s[9]
s[9] = n

а как найти предпоследний элемент строки ? нужно из последнего отнять 1

получается
s[i] - это i-й элемент строки, считая слева направо
а
s[s.size() - 1 - i] это i-й элемент строки, считая справо налево (от конца строки).

p.s. впрочем моё объяснение ещё раз повторяет то, что уже сказано выше.

lucykekson, теперь то хоть понятно?

Последний раз редактировалось Serge_Bliznykov; 21.06.2019 в 15:25.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.06.2019, 15:33   #13
lucykekson
Новичок
Пользователь
 
Регистрация: 21.06.2019
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
взять из строки S елемент с позиции [ДлинаСтроки - 1 - текущаяПозиция"Пальца"]
Всё до меня дошло!! Огромное спасибо!
lucykekson вне форума Ответить с цитированием
Старый 21.06.2019, 15:35   #14
lucykekson
Новичок
Пользователь
 
Регистрация: 21.06.2019
Сообщений: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А ведь если б не выеживались и взяли листок, то на первом бы этапе увидели сравнения:
s[0] s[size - 1 - 0]
s[1] s[size - 1 - 1]
s[2] s[size - 1 - 2]
...
и вопрос было бы меньше... но вы продолжайте...
я не знала, что квадратные скобки обозначают отдельный элемент, поэтому не понимала, что вообще происходит и просила объяснить саму запись кода
lucykekson вне форума Ответить с цитированием
Старый 21.06.2019, 15:36   #15
lucykekson
Новичок
Пользователь
 
Регистрация: 21.06.2019
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
s это ваша строка, которую надо проверить.
это понятно?
строка состоит из отдельных символов.
к каждому символу строки можно обратиться как к элементу массива по его индексу
нумерация начинается с нуля
если дана строчка lucykekson
то s[o] = l
s[1] = u
s[2] = c
...
s[8] = o
s[9] = n
теперь
про s.size()
это метод, который возвращает длину строки.
например, для строки lucykekson s.size() вернёт число 10
как же нам обратиться к последнему символу строки?
это можно сделать так:
s[ s.size() - 1 ]
после вычислений получится s[ 10- 1] получится s[9]
s[9] = n

а как найти предпоследний элемент строки ? нужно из последнего отнять 1

получается
s[i] - это i-й элемент строки, считая слева направо
а
s[s.size() - 1 - i] это i-й элемент строки, считая справо налево (от конца строки).

p.s. впрочем моё объяснение ещё раз повторяет то, что уже сказано выше.

lucykekson, теперь то хоть понятно?
Большое спасибо, что потратили свое время на меня и так подробно расписали, теперь мне вообще всё понятно стало!
lucykekson вне форума Ответить с цитированием
Старый 21.06.2019, 17:43   #16
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Т.е. задачу на строки дали раньше массивов? Или просто просмотрели тему...
p51x вне форума Ответить с цитированием
Старый 21.06.2019, 17:43   #17
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Нет слова «рвопрос».
taras-proger77 вне форума Ответить с цитированием
Старый 21.06.2019, 17:45   #18
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Т.е. задачу на строки дали раньше массивов? Или просто просмотрели тему...
Строка – массив не простой, а притворяющийся скаляром.
taras-proger77 вне форума Ответить с цитированием
Старый 22.06.2019, 09:39   #19
lucykekson
Новичок
Пользователь
 
Регистрация: 21.06.2019
Сообщений: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Т.е. задачу на строки дали раньше массивов? Или просто просмотрели тему...
Просто курс, который я прохожу, оказался не совсем для новичков, и там не всё объясняется в теории. А повременить с ним не получается: там время ограничено на его прохождение, поэтому так вышло.
lucykekson вне форума Ответить с цитированием
Старый 23.06.2019, 06:37   #20
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Я бейсик изучал вообще без курсов. Дали спектурм и вперёд. Но вопросов о значении скобок не было вообще. И это при том, что на бейсике индексы и элементов массивов, и символов строк указываются в круглых скобках, а не в квадратных. И до того с программированием вообще не сталкивался. И можно ж протрассировать пример.

Последний раз редактировалось taras-proger77; 23.06.2019 в 06:41.
taras-proger77 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять алгоритм решения задачи. Антон18 Паскаль, Turbo Pascal, PascalABC.NET 21 03.08.2016 05:17
Паскаль: Помогите понять основу для написания простейшей программы. Не могу понять суть. romanya Паскаль, Turbo Pascal, PascalABC.NET 2 18.03.2016 20:35
Помогите понять логику программы (Pascal) WeaKill47 Помощь студентам 0 06.10.2014 16:11
Не могу понять женскую логику Smitt&Wesson Свободное общение 160 16.06.2014 09:07
как понять алгоритм и среду решения для скачивания файлов genhoo Помощь студентам 4 05.05.2011 15:19