|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.04.2014, 08:49 | #1 |
Пользователь
Регистрация: 26.04.2014
Сообщений: 23
|
помогите доработать программу
Всем добрый день! Программа реализует код Хемминга, но только для двоичной уже переведенной, согласно таблице ASCII, таблице двоичной последовательности. В обще суть в том, что нужно ввести в консоли первичную последовательность, например слово "hi"/ согласно таблице ascii h=01101000 i=01101001, и прога должна закодировать согласно алгоритму
Помогите, время поджимает... да, вижак 10 Код:
Последний раз редактировалось Stilet; 26.04.2014 в 09:23. |
26.04.2014, 09:27 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
P.S. Лучше бы Data сделал bool-ом
I'm learning to live...
|
26.04.2014, 09:37 | #3 |
Пользователь
Регистрация: 26.04.2014
Сообщений: 23
|
да все в принципе работает..
Но как я уже говорил, мне необходимо вводить первичную последовательность http://images.yandex.ru/yandsearch?p...nary-chart.gif эта таблица же уже заложена, программа ее понимает, так при дешифровке находит ошибки в коде |
26.04.2014, 10:00 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
scanf() в моем примере ведь для этого?
I'm learning to live...
|
|
26.04.2014, 10:03 | #5 |
Пользователь
Регистрация: 26.04.2014
Сообщений: 23
|
щас попробую)
ошибка: с объявлением "s"... я вставил этот цикл между cout<<"Введите двоичную последовательность длиной 16 бит:\n"; и while (ch!='\n') Последний раз редактировалось Stilet; 26.04.2014 в 10:36. |
26.04.2014, 10:37 | #6 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
|||
26.04.2014, 10:51 | #7 | |
Пользователь
Регистрация: 26.04.2014
Сообщений: 23
|
Цитата:
если её назвать например "e" тогда прога запускается, но при вводе вылазит ошибка: Run-Time Check Failure #2 - Stack around the variable 's' was corrupted. help... |
|
26.04.2014, 11:42 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Покажи код.
I'm learning to live...
|
26.04.2014, 12:03 | #9 |
Пользователь
Регистрация: 26.04.2014
Сообщений: 23
|
#include<stdio.h>
#include<stdlib.h> #include<string.h> #include<math.h> #include<iostream> using namespace std; char Data[10000]; char ch; void read () { ch=getchar(); } void main (void) { int i=1; int S=0; int z=0; int p=0; char *str=new char[100]; char *strham=new char[100]; char s[2]="0"; setlocale (LC_ALL, "Russian"); cout<<"Введите двоичную последовательность длиной 16 бит:\n"; char e[255]; scanf("%s",&s); for(int i=0,k=0;s[i];i++){ for(;s[i];s[i]=s[i]>>1) Data[k++]=s[i]&1+'0'; } for (int q=1; q<i; ++q) { if (Data[q]=='1') S=S^q; } itoa(S,str,2); for (int q=1; q<i; ++q) { if (Data[q]!='1' && Data[q]!='0') ++z; } int len=strlen(str); for (int q=0; q<(z-len); ++q) { strcat(strham,s); } strcat(strham,str); for (int q=1; q<i; ++q) { if (Data[q]!='1' && Data[q]!='0') { Data[q]=strham[strlen(strham)-1-p]; ++p; } } cout<<"Код Хемминга:\n"; for (int q=1; q<i; ++q) { cout<<Data[q]; } fgetc(stdin); delete []str; delete []strham; } |
26.04.2014, 12:57 | #10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну будь же внимательнее. Имя переменной ты поменял, но в цикле что я дал забыл это сделать. Там тоже "е" вместо "s" нужно.
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите доработать программу. Паскаль | Руслан56 | Помощь студентам | 0 | 11.03.2014 20:00 |
Помогите доработать программу на ассемлере: Программа выводит шестнадцатеричные числа в двоичном виде. | Nickolay0512 | Помощь студентам | 0 | 04.12.2013 11:54 |
Помогите доработать программу, заполнить массив случайными значениями . | serg.malkow2014 | Помощь студентам | 2 | 27.11.2013 01:41 |
доработать программу | ehanjaki | Помощь студентам | 1 | 12.07.2012 14:37 |