На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > задача на фортран-90 , программа для решения задачи
      Условие задачи: Во введенной строке группу символов между первым знаком равенства ("=") и первым, следующим за ним пробелом, напечатать в обратном порядке. Остальные символы сохраняют свои места.
      Подскажите,пожалуйста что надо изменить в этой программе, потому что я думаю ,что она не совсем правильно работает.

      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
        между первым знаком равенства и первым следующим за ним пробелом символов нет.
        Давай так, что есть я вижу, а что должно получиться?
          программа должна сделать такое:
          допустим вот (я вместо пробелов поставила подчёркивания для ясности)
          123=456_789
          программа перевернёт это в
          123=654_789

          а если вот так ( с двумя пробелами )
          123_=456_789
          или
          123_456789
          123=456789
          123=_456789
          123456789 такие варианты прогр-ма не решает,нужно в программу добавить строчки (для пробела следующего за знаком равенства),а я не знаю как. И как здесь сделать чтобы символы вводить в запуске программы, или так не получится?
            Делайте поиск второго индекса не сначала, а от первого индекса, т.е. в подстроке cc(i1:)

            Добавлено
            Строку в рантайме можно считать конструкцией read(*, *) cc
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0167 ]   [ 15 queries used ]   [ Generated: 26.04.24, 01:22 GMT ]