![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Jerry |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Женский Репутация: ![]() ![]() ![]() |
Здравствуйте.
мне надо написать программу-шифровальщик. С вводом рядка. Прога должна реализировать алгоритм: рядок роазбивается на 5 колонок, символы берутся с введеного рядка и записываются на свободное место следнующнй колонки. Например: ABC DEF GHK LMN OP EL AFM BGN CHO DKP // каждый пятый char arr [100]; функции эти надо еще предописывать? и как разбивается строка на колонки? -------------------- Zettai Unmei Mokushiroku
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
В результате ты что должна получить? Матрицу? Или просто последовательность символов (каждый 5-ый символ исходной строки)? Не видно этого по приведенному примеру...
|
Jerry |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Женский Репутация: ![]() ![]() ![]() |
протсо повледовательность символов...(также разделеных на колонки...)
протсо повледовательность символов...(также разделеных на колонки...) и функции gets puts описываются так --> ?? #include <studio.h> int getchar(); int putchar(); -------------------- Zettai Unmei Mokushiroku
|
Jerry |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Женский Репутация: ![]() ![]() ![]() |
да... и разделение на столбики... это как бы в строку вставляется табуляцыя? но как ее туда вставить...? строка же может быть различной длины..
-------------------- Zettai Unmei Mokushiroku
|
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Сам алгоритм шафрования "каждый пятый символ" выглядит так :
А вот с разбиением не ясно. Нужно раюотать с разбитой на куски строкой или рпосто выводить результат в таком виде ? -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Jerry |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Женский Репутация: ![]() ![]() ![]() |
я думаю просто выводить результат.так проще. чем проще ,тем лучше=)
а можно с комментариями? ато мне не совсем понятно... а надо разобратся... -------------------- Zettai Unmei Mokushiroku
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Цитата Сам алгоритм шафрования "каждый пятый символ" выглядит так : Ты это запускал?Access Violation не боишься? ![]() |
klem4 |
![]()
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Исправил
![]() Я просто через указатели сначала делал) Мм или ты не о том о чем я ?) -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Jerry |
![]()
Сообщение
#9
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Женский Репутация: ![]() ![]() ![]() |
fatal error C1010 - что значит эта ошибка?
-------------------- Zettai Unmei Mokushiroku
|
klem4 |
![]()
Сообщение
#10
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата fatal error C1010 - что значит эта ошибка? Какую строку ты водишь ? -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Кстати, Jerry, если хочешь распечатать это группами по 3, то вот один из вариантов (puts(out) замени на этот код):
... |
Jerry |
![]()
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Женский Репутация: ![]() ![]() ![]() |
Какую строку ты водишь ? это при компиляции выводит... Кстати, Jerry, если хочешь распечатать это группами по 3, то вот один из вариантов (puts(out) замени на этот код): Код ... strrev(out); i = 0; while(i + 3 < strlen(out)) { i += 3; memmove(&out[i+1], &out[i], strlen(out) - i + 1); out[i] = ' '; i++; } puts(strrev(out)); ... нет... мне надо чтоб введеная строка, она может быть лубого размера, разбивалась на 5 столбиков... тоесть вставить 4 пробела (или табуляцию)... -------------------- Zettai Unmei Mokushiroku
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Цитата(Jerry @ 11.09.2006 21:41) нет... мне надо чтоб введеная строка, она может быть лубого размера, разбивалась на 5 столбиков... тоесть вставить 4 пробела (или табуляцию)... Ну, тогда заменим число 3 на вычисленную длину каждого из 5 отрезков: strrev(out); |
Jerry |
![]()
Сообщение
#14
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Женский Репутация: ![]() ![]() ![]() |
спасибо...
но у мня выводит эту ошибку... fatal error C1010: unexpected end of file while looking for precompiled header directive Error executing cl.exe. -------------------- Zettai Unmei Mokushiroku
|
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Ты бы лучше сказала, ЧЕМ ты компилируешь? Если у тебя полноценная поддержка C++, то задача будет решаться СОВЕРШЕННО по-другому (хотя тогда непонятно, с чего ты начала приводить решение в стиле С)...
|
Jerry |
![]()
Сообщение
#16
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Женский Репутация: ![]() ![]() ![]() |
Ты бы лучше сказала, ЧЕМ ты компилируешь? Если у тебя полноценная поддержка C++, то задача будет решаться СОВЕРШЕННО по-другому (хотя тогда непонятно, с чего ты начала приводить решение в стиле С)... Microsoft visual studio в консольном режиме... уже запустилась. еще раз спасибо. я уже разобралась... после паскаля немного непривычно в Си и Си++.... -------------------- Zettai Unmei Mokushiroku
|
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 0:51 |