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