Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 4
1

Найти и исправить ошибку в выводе строки (шифр Цезаря, файловый ввод/вывод)

16.12.2015, 20:51. Показов 350. Ответов 0
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
        ofstream fout("Результат.txt");
                for (int i = 0; i < s.size(); i++){
                j = k;
                k = j % 33; 
                s[i] = al[i + k];
                fout << s[i];
            }
Вот часть кода, при шифровке по Цезарю, при выводе выводит не шифруем текст, а первый элемент, смещенный на k, далее этот смещенный элемент, который ещё сместили на k, и так далее, не читая элементы строки (кроме первого).
если кто не знает про Цезаря : суть проблемы в том, что есть строка s, и мы должны заменить элементы этой строки на элемент из строки al, но со смещением, вот строка al
C++
1
const string al = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
, то есть если элемент строки s это 'a' и смещение k=1 - мы должны поместить в файл символ 'б', но происходит следующее: первый элемент, смещенный на k, далее этот смещенный элемент, который ещё сместили на k, и так далее, не читая элементы строки (кроме первого).
Суть ошибки понимаю, что после первого, так сказать оборота в цикле, s[i] сохраняется со смещением, и вот вопрос, как этого избежать, чтобы читалась строка из исходного файла, а не читался символ "со смещением".
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2015, 20:51
Ответы с готовыми решениями:

Шифр Цезаря: исправить ввод-вывод данных в файлы
Помогите, пожалуйста, переписать кусок программы под работу с файлами. static void Main(string...

Файловый ввод-вывод: не открывается файл (найти и исправить ошибки)
Написал две программы. В первой идёт запись в файл. Во второй считывается из файла. Первая: ...

Исправить ошибку "can't open input file" (файловый ввод/вывод)
в программе прописан параметр - название текстового файла pushkin.txt Программа выполняется без...

Найти ошибку в задаче на файловый ввод/вывод (задача про МКАД)
Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с первого...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2015, 20:51

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Шифр цезаря, ввод текста с клавиатуры, вывод в файл
Здравствуйте, возникла проблема - Задали мне задание и дали срок 4 месяца, я благополучно как смог...

Файловый ввод-вывод: Строки
Добрый день ,вы могли бы пожалуйста помочь написать программу,на носу сессия,осталось сдать...

Написать парсер, разделяющий строки на подстроки (файловый ввод/вывод)
Подкиньте пожалуйста идей для решения задачи

Укажите на ошибку (Шифр Цезаря)
#include &quot;iostream&quot; using namespace std; int main() { cout &lt;&lt; &quot;Input text:&quot; &lt;&lt; endl; char...

Как поместить строки разной длинны в двумерный массив? (файловый ввод/вывод)
Всем доброго времени суток! Есть файл с нескольким количеством строк и все эти строки разной...

Заменить в программе, переводящую строку в двоичный код, консольный ввод/вывод на файловый ввод/вывод
Добрый день! Помогите, пожалуйста, с программой. Программа считывает строку с клавиатуры и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.