|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Oleg I. Khovayko 2:5020/400 12 Jul 2002 23:35:46 To : Veniamin Novoselsky Subject : Re: [FWD] Алгоритм -------------------------------------------------------------------------------- > > есть слово, совершенно произвольное, для него надо составить матрицу ( 5 х 5 ) > след. вида: > > _m_ _o_ _n_ _a_ _r_ > _c_ _h_ _y_ b d > e f g i/j k > l p q s t > u v w x z > > Это для слова _monarchy_. Т.е. записывается слово, повторяющиеся в нем символы > отбрасываются, а остальные символы алфавита записываются попорядку. (i/j - > один и тот же символ). Тогда слово не совершенно произвольное, а такое, в котором нет повторяюшихся букв. Иначе условия "записывается слово" и "матрицу ( 5 х 5 )" вступаят в противоречие. Ибо как ты засунешь в матрицу ( 5 х 5 ) слово: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", а вдобавок к нему - еще и почти весь алфавит?!?!?!? Я вижу только одно решение: не печатaть в слове повторяющихся букв которые уже до этого были напечатаны, то есть все буквы печатать по одному разу. Hапример слово "abba" печатать как "ab", а "zanzibar" - как "zanibr" Ох, беда с вами... Даже корректно задачу поставить не можете... Ладно. Hиже - программа, которая рисует твою матрицу ( 5 х 5 ). ----------------------------------------------- #include <stdio.h> #include <string.h> static int linepos = 0; void p5(const char *format, char c, char flag) { if(flag && c !='j') { printf(c == 'i'? " i/j " : format, c); if(++linepos >= 5) { linepos = 0; putchar('\n'); } } } void print5x5(const char *in) { char buf[100]; strcpy(buf, in); char *p = strchr(buf, 'j'); if(p) *p = 'i'; linepos = 0; char need_print[0200]; memset(need_print, 1, sizeof(need_print)); for(p = buf; *p; p++) { p5(" _%c_ ", *p, need_print[*p]); need_print[*p] = 0; } for(char c = 'a'; c <= 'z'; c++) p5(" %c ", c, need_print[c]); putchar('\n'); } main() { print5x5("monarchy"); print5x5("micro"); print5x5("jopa"); print5x5("zanzibar"); print5x5("abracadabra"); } -- #include <best/regards.hpp> Oleg I. KHOVAYKO (301)435-5885 || WEB: http://olegh.spedia.net --- ifmail v.2.15dev5 * Origin: National Center for Biotechnology Information (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/11522f69bc856.html, оценка из 5, голосов 10
|