Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.116.90.141] |
|
Сообщ.
#1
,
|
|
|
Условие задачи: Во введенной строке группу символов между первым знаком равенства ("=") и первым, следующим за ним пробелом, напечатать в обратном порядке. Остальные символы сохраняют свои места.
Подскажите,пожалуйста что надо изменить в этой программе, потому что я думаю ,что она не совсем правильно работает. program z character cc*20, c0*20 cc='123= 456789' i1= index (cc,'=')+1 ! i2= index (cc,' ')-1 c0=cc ! print*,cc ! do i=0,i2-i1 ! cc (i1+i:i1+i)=c0 (i2-i:i2-i) end do print*,cc ! end |
Сообщ.
#2
,
|
|
|
между первым знаком равенства и первым следующим за ним пробелом символов нет.
Давай так, что есть я вижу, а что должно получиться? |
Сообщ.
#3
,
|
|
|
программа должна сделать такое:
допустим вот (я вместо пробелов поставила подчёркивания для ясности) 123=456_789 программа перевернёт это в 123=654_789 а если вот так ( с двумя пробелами ) 123_=456_789 или 123_456789 123=456789 123=_456789 123456789 такие варианты прогр-ма не решает,нужно в программу добавить строчки (для пробела следующего за знаком равенства),а я не знаю как. И как здесь сделать чтобы символы вводить в запуске программы, или так не получится? |
Сообщ.
#4
,
|
|
|
Делайте поиск второго индекса не сначала, а от первого индекса, т.е. в подстроке cc(i1:)
Добавлено Строку в рантайме можно считать конструкцией read(*, *) cc |