Форум программистов, компьютерный форум, киберфорум
Наши страницы

C для начинающих

Войти
Регистрация
Восстановить пароль
 
бутафор
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 43
#1

Шифрование строки, меняя русский алфавит по часовой стрелке - C (СИ)

09.02.2015, 10:47. Просмотров 601. Ответов 3
Метки нет (Все метки)

День добрый. Функция должна брать из файла строку, менять русский алфавит по часовой стрелке, и записывать новую строку в файл. Подскажите, что не так, пожалуйста.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void encrypt(char* string, char* string1){
int i,j;
char new_string[1000];
FILE *f;
string1=new char[1000];
string1="абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
int z=strlen(string);
if((f=fopen("lab7.txt","w+"))==NULL)
{ printf("Не удалось открыть файл\n");
     _getch(); 
     return;    }
 
fgets(string,1000,f) ;  //Чтение строк из файла
printf ("Исходная строка: %s\n", string); 
for(i=0;i<z;i++){
  for(j=0;j<100;j++){
    if(string[i]==string1[j]){
      new_string[i]=string1[j+1];
 
    }
    else {new_string[i]=string[i]; }
  }
}
 
 printf ("Зашифрованная строка: %s", new_string);           
 
fputs(new_string,f);
fclose(f);  
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2015, 10:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шифрование строки, меняя русский алфавит по часовой стрелке (C (СИ)):

Вершины в порядке обхода по часовой стрелке - C (СИ)
Выпуклый многоугольник на плоскости задан своими вершинами, расположенными в произвольном порядке. Расположить вершины в порядке обхода по...

Перемещение элементов массива по часовой стрелке - C (СИ)
Всем привет, написал программу, которая должная делить массив, чётной размерности, на 4 части и перемещать по часовой стрелке на 1 шаг. Но...

Заполнение матрицы от центра по спирали (по часовой стрелке) - C (СИ)
написать программу, которая заполняет массив от цента по спирали(по часовой стрелке). пример: 21 22 23 24 25 ...

Повернуть квадратную матрицу на 90 градусов по часовой стрелке - C (СИ)
Повернуть квадратную матрицу на 90 градусов по часовой стрелке

Переместить элементы периметра прямоугольной матрицы на 1 элемент по часовой стрелке - C (СИ)
Дана прямоугольная матрица А.Переместить элементы её периметра на 1 элемент по часовой стрелке.Вот такая вот задачка,нужна помощь в...

Дана прямоугольная матрица А. Переместить элементы ее периметра на один элемент по часовой стрелке - C (СИ)
Дана прямоугольная матрица А. Переместить элементы ее периметра на один элемент по часовой стрелке

3
Doomrunner
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 17
10.02.2015, 15:59 #2
w+ или wb+ или w+b – создать файл для чтения и записи, если файл уже существует, он будет открыт, но все имеющиеся в файле данные будут уничтожены, то есть он у тебя читает вечно пустой файл! Пробуй с обычными режимами типа 'r', 'w'. Создай отдельно функцию чтения и записи или попробуй режим 'a+' там он открывает файл если он существует или же создает его, но при этом запись идет в конец файла.
0
бутафор
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 43
10.02.2015, 17:12  [ТС] #3
так это же код 1 функции, а не всей программы. Функции чтения и записи в файл тоже есть и они работают нормально,а в этой что-то не так(
0
Doomrunner
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 17
10.02.2015, 17:33 #4
смотри вот он проверяет его if((f=fopen("lab7.txt","w+"))==NULL), допустим файла есть если даже нету в любом случае файл пересоздаётся и потом ты сразу выполняешь fgets(string,1000,f), он же пустой. Проверь на пустоту, после if((f=fopen("lab7.txt","w+"))==NULL){...} вставь fseek(f, 0, SEEK_END); long pos = ftell(f); if(pos=0){printf("%s","Пустой!)};
0
10.02.2015, 17:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2015, 17:33
Привет! Вот еще темы с ответами:

Заданы координаты вершин треугольника ABC на плоскости. Вывести их в порядке обхода по часовой стрелке - C (СИ)
Заданы координаты вершин треугольника ABC на плоскости. Вывести их в порядке обхода по часовой стрелке (для проверки достаточно рассмотреть...

Написать программу, которая печатает русский алфавит в определенном виде - C (СИ)
Помогите пожалуйста с заданием. Написать программу, которая печатает русский алфавит в виде:

Дана матрица размера 2×Н. Получить новую матрицу, переставляя ее четверти размера Н×Н по часовой стрелке - C (СИ)
Дана матрица размера 2×Н. Получить новую матрицу, переставляя ее четверти размера Н×Н по часовой стрелке.

Вывести на экран строки, меняя местами два соседних слова - C (СИ)
Задание: Из задания я понял что должен быть массив строк str. C массивами у меня плохо, со строками тем более :) Пока что написал...


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

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

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