The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Вопрос по циклам, !*! Raven77, 27-Авг-13, 14:30  [смотреть все]
Нужно вывести числа в порядке возрастания до 100, а перед числами буквы русского алфавита по порядку, алфавит следует повторить заново, когда число сравняется с последней буквой алфавита  
Что-то обратное вот этому, но еще и с русскими буквами:
i=0; for name in {a..z}; do  i=$[ i+1 ]; echo $name$i; done

и что-то вроде:
а1
б2
в3
...
я33
а34

  • Вопрос по циклам, !*! hizel, 14:52 , 27-Авг-13 (1)
  • Вопрос по циклам, !*! михалыч, 19:57 , 27-Авг-13 (2)
    Тупо в лоб.

    #!/bin/sh

    i=1
    while [ $i -le 100 ]; do
        for lit in а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я; do
            echo $lit$i
            i=$(expr $i + 1)
            if [ $i -ge 101 ]; then break; fi
    #        if [ $i -ge 101 ]; then exit; fi
        done
    done

    • Вопрос по циклам, !*! Andrey Mitrofanov, 20:31 , 27-Авг-13 (3)
      > Тупо в лоб.
      > #!/bin/sh
      > i=1

      Ну, хоть подождал бы недельку, чтоб студиозус обломался с пересдачей...

      bash$ L=абвгдеёжзийклмнопрстуфхцчшщъыьэюя;for i in {1..100}; do echo "${L:$(((i-1)%${#L})):1}$i"; done

      • Вопрос по циклам, !*! Raven77, 20:46 , 27-Авг-13 (5)
        >> Тупо в лоб.
        >> #!/bin/sh
        >> i=1
        > Ну, хоть подождал бы недельку, чтоб студиозус обломался с пересдачей...
        > bash$ L=абвгдеёжзийклмнопрстуфхцчшщъыьэюя;for i in {1..100}; do echo "${L:$(((i-1)%${#L})):1}$i";
        > done

        Я давно все экзамены сдал (я гуманитарий), мне для практических целей на работе,
        надо сгенерировать много цифр с буквами для картотеки.

        Жалко людей стало, сидят и вбивают в документ вручную =)
        a1
        a2
        и т.д. :)

      • Вопрос по циклам, !*! михалыч, 20:52 , 27-Авг-13 (6)
        > bash$ L=абвгдеёжзийклмнопрстуфхцчшщъыьэюя;for i in {1..100}; do echo "${L:$(((i-1)%${#L})):1}$i"; done

        Изящно!

      • Вопрос по циклам, !*! Andrey Mitrofanov, 10:07 , 29-Авг-13 (16)
        >> Тупо в лоб.
        >> #!/bin/sh
        >> i=1
        > Ну, хоть подождал бы недельку, чтоб студиозус обломался с пересдачей...
        > bash$ L=абвгдеёжзийклмнопрстуфхцчшщъыьэюя;for i in {1..100};do echo "${L:$(((i-1)%${#L})):1}$i";done

        Продолжаем развлекаться. Ремейк для нашего друга павлина.

        $ gawk 'BEGIN{split("абвгдеёжзийклмнопрстуфхцчшщъыьэюя",a,"");for(;i<100;)print a[i%length(a)+1]""++i}'

    • Вопрос по циклам, !*! Raven77, 20:43 , 27-Авг-13 (4)
  • Вопрос по циклам, !*! John, 21:41 , 27-Авг-13 (8)
    >[оверквотинг удален]
    > Что-то обратное вот этому, но еще и с русскими буквами:
    > i=0; for name in {a..z}; do  i=$[ i+1 ]; echo $name$i;
    > done
    > и что-то вроде:
    > а1
    > б2
    > в3
    > ...
    > я33
    > а34

    echo -e {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}{1..100}\\n

    • Вопрос по циклам, !*! John, 22:26 , 27-Авг-13 (9)
      >[оверквотинг удален]
      >> i=0; for name in {a..z}; do  i=$[ i+1 ]; echo $name$i;
      >> done
      >> и что-то вроде:
      >> а1
      >> б2
      >> в3
      >> ...
      >> я33
      >> а34
      > echo -e {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}{1..100}\\n

      не подходит - невнимательно прочитал условие

      • Вопрос по циклам, !*! John, 22:43 , 27-Авг-13 (10)
        >[оверквотинг удален]
        >>> done
        >>> и что-то вроде:
        >>> а1
        >>> б2
        >>> в3
        >>> ...
        >>> я33
        >>> а34
        >> echo -e {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}{1..100}\\n
        > не подходит - невнимательно прочитал условие

        printf "$(printf '%s%%s\\n' {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я})" {1..100} | head -n 100

        • Вопрос по циклам, !*! Raven77, 00:17 , 28-Авг-13 (11)
          >[оверквотинг удален]
          >>>> а1
          >>>> б2
          >>>> в3
          >>>> ...
          >>>> я33
          >>>> а34
          >>> echo -e {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}{1..100}\\n
          >> не подходит - невнимательно прочитал условие
          > printf "$(printf '%s%%s\\n' {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я})"
          > {1..100} | head -n 100

          Вот это круто.

          • Вопрос по циклам, !*! Andrey Mitrofanov, 09:15 , 28-Авг-13 (12)
            >> printf "$(printf '%s%%s\\n' {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я})"
            >> {1..100} | head -n 100
            > Вот это круто.

            Да! Продолжим:

            $ printf "`sed s/./\&%s\\\n/g<<<абвгдеёжзийклмнопрстуфхцчшщъыьэюя`\n" {1..100} |head -n 100

            > printf "`printf '%s%%s\\n' {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}`" {1..100} |head -n 100

            • Вопрос по циклам, !*! Raven77, 19:31 , 28-Авг-13 (13)
              Я раздавлен от кол-ва вариантов и оттого, что не додумался ни до одного
              • Вопрос по циклам, !*! pavlinux, 02:38 , 29-Авг-13 (14)
                echo "а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я" | awk '{ k=1; for (i = 0; i < 100; ++i) printf "%s%s\n", $(i%(length($0)/2)+1), k++ }'
                • Вопрос по циклам, !*! Аноним, 02:54 , 29-Авг-13 (15)
                  Ну ты и быдлoкoдep павлинукс :) Вон же выше красивые варианты лежат.
                  • Вопрос по циклам, !*! pavlinux, 16:51 , 30-Авг-13 (17)
                    > Ну ты и быдлoкoдep павлинукс :) Вон же выше красивые варианты лежат.

                    Там printf, printf (sed) и 1 раз head, что явно тормознутее есho и awk :-P

                    • Вопрос по циклам, !*! Andrey Mitrofanov, 08:55 , 31-Авг-13 (18) –1
                      :1

                      >> Ну ты и быдлoкoдep павлинукс
                      > 1 раз head, что явно тормознутее есho

                      IF ты правда оптимизируешь по скорости вывод 100 коротеньких строк текста??
                      THEN GOTO 1
                      ELSE

                      Либо ты так толсто набрасываешь, что никто не понимает, либо ты сам не понимаешь, поэтому никто не понимает, либо ты пишешь полную ...., поэтом никто не понимает.

                      Никто не понимает, некоторые даже переспрашивают, спорят, и тебе приходится объяснять "второй раз". Или отмазываться?

                      Не замечал?

                      > и awk :-P

                      • Вопрос по циклам, !*! pavlinux, 16:05 , 31-Авг-13 (19)
                        > IF ты правда оптимизируешь по скорости вывод 100 коротеньких строк текста??

                        head - это echo сo счётчиком, да и еще с парсером argv[] :-P


                        $ time echo "а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я" | awk '{ k=1; for (i = 0; i < 100; ++i) printf "%s%s\n", $(i%(length($0)/2)+1), k++ }'

                        real    0m0.009s
                        user    0m0.004s
                        sys     0m0.005s

                        % time     seconds  usecs/call     calls    errors syscall
                        ------ ----------- ----------- --------- --------- ----------------
                        100.00    0.000025           1        21           fstat
                          0.00    0.000000           0         4           read
                          0.00    0.000000           0         1           write
                          0.00    0.000000           0        20           open
                          0.00    0.000000           0        22           close
                          0.00    0.000000           0        26           mmap
                          0.00    0.000000           0         5           mprotect
                          0.00    0.000000           0         4           munmap
                          0.00    0.000000           0         3           brk
                          0.00    0.000000           0         1           access
                          0.00    0.000000           0         1           execve
                          0.00    0.000000           0         1           arch_prctl
                        ------ ----------- ----------- --------- --------- ----------------
                        100.00    0.000025                   109           total


                        ---
                        $ time printf "`sed s/./\&%s\\\n/g<<<абвгдеёжзийклмнопрстуфхцчшщъыьэюя`\n" {1..100} |head -n 100

                        real    0m0.013s
                        user    0m0.004s
                        sys     0m0.011s

                        % time     seconds  usecs/call     calls    errors syscall
                        ------ ----------- ----------- --------- --------- ----------------
                        40.62    0.000039          39         1           write
                        31.25    0.000030           8         4           read
                        28.12    0.000027           1        26           mmap
                          0.00    0.000000           0        20           open
                          0.00    0.000000           0        22           close
                          0.00    0.000000           0        21           fstat
                          0.00    0.000000           0         5           mprotect
                          0.00    0.000000           0         4           munmap
                          0.00    0.000000           0         3           brk
                          0.00    0.000000           0         1           access
                          0.00    0.000000           0         1           execve
                          0.00    0.000000           0         1           arch_prctl
                        ------ ----------- ----------- --------- --------- ----------------
                        100.00    0.000096                   109           total


                        У тя write долго соображает!!! :)

                        > Не замечал?

                        Я заметил, что никто косяк не заметил :)

                        • Вопрос по циклам, !*! Raven77, 16:37 , 31-Авг-13 (20)
                          Ребята, независимо от чужого и собственного понимания тонкостей и особенностей стилей программирования хотел бы выразить благодарность от лица одного небогатого российского музея, которому вы очень помогли решить прикладную задачу.
                        • Вопрос по циклам, !*! DeadLoco, 22:46 , 31-Авг-13 (21)
                          > хотел бы выразить благодарность от лица одного небогатого российского музея

                          Поблагодарили - и отбегайте, а еще лучше - в укрытие, а то ударной волной накроет :)





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру