IPB
ЛогинПароль:

> Внимание!

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];
puts("Input string:");
gets (arr);
puts("Inputed string");
puts(arr+5);
return 0;



функции эти надо еще предописывать? и как разбивается строка на колонки?


--------------------
Zettai Unmei Mokushiroku
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 11.09.2006 20:40
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
fatal error C1010 - что значит эта ошибка?


Какую строку ты водишь ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jerry
сообщение 11.09.2006 21:41
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 46
Пол: Женский

Репутация: -  0  +


Цитата(klem4 @ 11.09.2006 20:40) *

Какую строку ты водишь ?


это при компиляции выводит...

Цитата(volvo @ 11.09.2006 20:45) *

Кстати, 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.09.2006 22:32
Сообщение #4


Гость






Цитата(Jerry @ 11.09.2006 21:41)
нет... мне надо чтоб введеная строка, она может быть лубого размера, разбивалась на 5 столбиков... тоесть вставить 4 пробела (или табуляцию)...

Ну, тогда заменим число 3 на вычисленную длину каждого из 5 отрезков:

  strrev(out);
int divide = strlen(out) / 5 + (strlen(out)%5 ? 1:0);

i = 0;
while(i + divide < strlen(out)) {
i += divide;
memmove(&out[i+1], &out[i], strlen(out) - i + 1);
out[i] = ' ';
i++;
}

puts(strrev(out));
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Jerry   Раболта со строками   11.09.2006 17:34
volvo   В результате ты что должна получить? Матрицу? Или ...   11.09.2006 17:58
Jerry   протсо повледовательность символов...(также раздел...   11.09.2006 18:06
Jerry   да... и разделение на столбики... это как бы в стр...   11.09.2006 19:12
klem4   Сам алгоритм шафрования "каждый пятый символ...   11.09.2006 19:36
Jerry   я думаю просто выводить результат.так проще. чем п...   11.09.2006 19:56
volvo   Ты это запускал? Access Violation не боишься? :b...   11.09.2006 20:02
klem4   Исправил :)) Я просто через указатели сначала де...   11.09.2006 20:31
Jerry   fatal error C1010 - что значит эта ошибка?   11.09.2006 20:37
klem4   Какую строку ты водишь ?   11.09.2006 20:40
Jerry   Какую строку ты водишь ? это при компиляции выв...   11.09.2006 21:41
volvo   нет... мне надо чтоб введеная строка, она может бы...   11.09.2006 22:32
volvo   Кстати, Jerry, если хочешь распечатать это группам...   11.09.2006 20:45
Jerry   спасибо... но у мня выводит эту ошибку... fatal e...   12.09.2006 16:14
volvo   Ты бы лучше сказала, ЧЕМ ты компилируешь? Если у т...   12.09.2006 16:24
Jerry   Ты бы лучше сказала, ЧЕМ ты компилируешь? Если у ...   12.09.2006 17:24


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.06.2025 1:19
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"