Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Visual C++ / С/C++

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 23.03.2008, 08:15   #1
Неактивный пользователь
 
Регистрация: 17.01.2008
Адрес: Dnepr
Сообщений: 6
Репутация: 0
Post нужна помощь по курсовому

наисать програму для шифрования(дешшифрования) текста методом Виженера нужно перевести символи алфавита в их порядковые номера по алфавиту я зделал так z[i][j]=z[i][j]-'a'+1; используя функцию fun(a+b) закодировать и перевести обратно символи алфавита
z[i][j]=z[i][j]+'a'-1; - но так что не выходит, и записать в другой файлю
Подскажите может можно написать программу проще?

#include <stdio.h>
#include <conio.h>
int fun (char a, char b)
{ return (a+b);}
void main() {clrscr(); char a[10], w[200], i, j;
printf ("vvelite klu4 nsimbol\n");
scanf ("%10c",&a);
for (i=0; i<10; i++)
{ a[i]=a[i]-'a'+1; printf("%d",a[i]); }
FILE *text;
text=fopen("c:\\text.txt","r");
char z[80][6];
do
{ fscanf(text,"%c",&z[i][j]);
{ z[i][j]=z[i][j]-'a'+1;
printf("%d",z[i][j]);
for (a[i]=0; a[i]>10; i++)
w[i]=fun(z[i][j],a[i]);
w[i]=w[i]+'a'-1; } }
while(!feof(text));
fclose(text);
printf("%c",w); }
geta_1swa вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: купить hp omen 16поставить пломбу на зуб стоимостьрешетка приточная пму 600x400 арктика ценакруиз на теплоходе из москвы 2025 август по волгекупить ювелирную эмаль холодную


Старый 23.03.2008, 11:19   #2
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Ответ: нужна помощь по курсовому

У Вас в этом коде много ошибок выполнения,
одна из грубейших:
Код:
fscanf(text,"%c",&z[i][j]);
Чему здесь равно j?
Есть еще несколько.
Не поленитесь, запустите программу в отладочном режиме и
пройдите ее всю по шагам. Уверен, что обнаружите все ошибки.
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
Старый 25.03.2008, 09:21   #3
geta_1swa
Неактивный пользователь
 
Регистрация: 17.01.2008
Адрес: Dnepr
Сообщений: 6
Репутация: 0
По умолчанию Ответ: нужна помощь по курсовому

У Вас в этом коде много ошибок выполнения,
одна из грубейших:
fscanf(text,"%c",&z[i][j])
Чему здесь равно j?

Уважаемый zss!
Я не давно изучаю СИ эта функция сканирует адрес символа из файла
текст чтоб записать его в массив Z[80][6] j означае переход на строку
почему ета запись является грубейшей ошибко мне не понятно ежели мона разясни. Возможно я указал переменые i и j как char? Укажи на другие ошибки.
geta_1swa вне форума
 
Ответить с цитированием Вверх
Старый 25.03.2008, 15:59   #4
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Ответ: нужна помощь по курсовому

Если Вы используете переменную, то ей сначала надо присвоить значение.
Поэтому fscanf(text,"%c",&z[i][j]) не будет знать в какое место двумерного массива надо поместить считываемое значение символа.
Если Вы предполагали прочитать слово длиной не более 6 символов, то эта команда должна выглядеть так:
i=0;
do{
fscanf(text,"%s",z[i]);
i++; ....

Еще одна ошибка:
scanf ("%10c",&a);
прочитает один символ, а не 10.

Еще раз советую пользоваться отладчиком. Вы эти ошибки найдете самостоятельно и намного быстрее, чем с использованием сторонних советчиков.
__________________
Сергей Сергеевич

Последний раз редактировалось zss; 25.03.2008 в 16:03..
zss вне форума
 
Ответить с цитированием Вверх
Старый 26.03.2008, 12:15   #5
geta_1swa
Неактивный пользователь
 
Регистрация: 17.01.2008
Адрес: Dnepr
Сообщений: 6
Репутация: 0
По умолчанию Ответ: нужна помощь по курсовому

Еще одна ошибка:
scanf ("%10c",&a);
прочитает один символ, а не 10.

На сколько я правильно понял scanf ("%10c",&a);
считывает толькопервые 10 символов из вводимой строки
остальные игнорируются.
Как использовать отладчиком если я использую TC.
geta_1swa вне форума
 
Ответить с цитированием Вверх
Старый 26.03.2008, 18:43   #6
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Ответ: нужна помощь по курсовому

Извиняюсь, действительно читается 10 символов, хотя это и не оговаривалось, так что можете писать:
fscanf(text,"%10с",z[i]);
Однако у Вас выделено место только под 6 символов: char z[80][6];
80 строк по 6 символов (второй индекс меняется быстрее).
ТС очень устарелый продукт. Советую поставить Visual C++ версия 6.0.
Можно, конечно, и Visual Studio.net 2005 (но 6.0 проще в использовании).
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
Старый 27.03.2008, 09:26   #7
geta_1swa
Неактивный пользователь
 
Регистрация: 17.01.2008
Адрес: Dnepr
Сообщений: 6
Репутация: 0
По умолчанию Ответ: нужна помощь по курсовому

Цитата:
Сообщение от zss Посмотреть сообщение
Однако у Вас выделено место только под 6 символов: char z[80][6];
80 строк по 6 символов (второй индекс меняется быстрее).

Имеется ввиду что z[i][j] ето двумерный массив 80х6, но сейчас сделал без использования массива, что упростило программму.
Есть еще вопрос как в СИ подсчитать такое:
(19+20)mod26 ето математическое выражение как его реализовать в СИ?
geta_1swa вне форума
 
Ответить с цитированием Вверх
Старый 27.03.2008, 18:54   #8
pluton
ViP
 
Аватар для pluton
 
Пол:Мужской
Регистрация: 23.02.2007
Сообщений: 1,027
Репутация: 560
По умолчанию Ответ: нужна помощь по курсовому

Цитата:
Сообщение от geta_1swa Посмотреть сообщение
(19+20)mod26 ето математическое выражение как его реализовать в СИ?

так:
Код:
int a = (19 + 20) % 26;
__________________
THE TRUTH IS OUT THERE
pluton вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь! GgreenpowerP Настройка интернета 2 29.01.2009 08:40
Нужна помощь. oleg_bass Скорая помощь 2 06.01.2009 11:14
Нужна помощь aksakal7 Архив 9 25.05.2007 23:21
Нужна помощь в ответе на вопрос, причем нужна сегодня(15 марта). prosmith Архив 1 15.03.2007 20:57
Нужна помощь. asu Вeб Дизайн 3 26.12.2005 19:58

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:02. Часовой пояс GMT +3.


Copyright ©2004 - 2025 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.15242 секунды с 11 запросами