Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

PAUK-NET.RU - Бесплатный ADSL портал Чувашии _ Прикладное программирование _ программирование на СИ

Автор: goga Mar 18 2006, 07:52

выложи 2 лабу по СИ пож-та smile.gif

Автор: Gobbs Mar 18 2006, 09:43

Вот, может ещё кому пригодится wink.gif

Код
//---------------------------------------------------------------------------
#include<stdio.h>
#include<conio.h>
#define max 5

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main()
{
int i=1,*k,m=1,l=2,m1;
float a[max]={-1,5,1,2,3},*b,s,p;

k=&i;
b=a;
s=0;
p=1;

//textbackground(LIGHTGRAY);
clrscr();

printf("znachenie INT-->%d; adress-->%X\n",i,&i);
printf("znachenie INT pri pomoshi ukazatelia-->%d\n",*k);

for(i=0;i<max;i++)
        printf("nomer el massiva-->%d\tznachenie-->%.1f\n",i,*(b++));

b=a;

for(i=0;i<max;i++)
        s=s+*(b++);

printf("SUMMA el massiva-->%.1f\n",s);

b=a;

for(i=0;i<max;i++)
        p=p*=*(b++);

printf("Proizvedinie el massiva -->%f\n",p);

m=m|l;
printf("BITOVOE ILI-->%d\n",m);

m=m&l;
printf("BITOVOE I-->%d\n",m);

m=m^l;
printf("BITOVOE ^ -->%d\n",m);

m=m*(1<<4);
printf("vozveli v 4 step-->%d\n",m);

printf("SRAVNENIE-->%d\n",m==l);

m1=m!=0&&l!=0;
printf("rez-t-->%d\n",m1);

printf("sov-oe rav-vo nulu-->%d\n\n\n",m==0&&l==0);

textcolor(4+128);
cprintf("dlia vixoda gmite ENTER");

getchar();
}
//---------------------------------------------------------------------------

Автор: goga Mar 18 2006, 15:54

спасибо !!!!
ещё одна просьба smile.gif расшарь текст проги я её на дискетку что бы в универе не набирать нам прогу на компе biggrin.gif

Автор: SiMM Mar 18 2006, 16:24

Цитата(goga @ Mar 18 2006, 15:54) *
спасибо !!!!
ещё одна просьба smile.gif расшарь текст проги я её на дискетку что бы в универе не набирать нам прогу на компе biggrin.gif
А Copy&Paste сделать не бывает? wink.gif

Автор: goga Mar 21 2006, 18:51

гоббс сайт скажи где книгу заказалл? smile.gif

Автор: Gobbs Mar 21 2006, 21:17

Цитата(goga @ Mar 21 2006, 18:51) *
гоббс сайт скажи где книгу заказалл? smile.gif

www.bookler.ru
www.bolero.ru

Автор: Lenin May 31 2006, 22:36

может у кого нибуть есть русский HELP для C++,
...........срочно.........

Автор: Desput May 31 2006, 23:18

Цитата(Lenin @ May 31 2006, 23:36) *
может у кого нибуть есть русский HELP для C++,
...........срочно.........


Зачем? Учи английский.

Автор: SiMM Jun 1 2006, 00:17

Цитата(Lenin @ May 31 2006, 23:36) *
может у кого нибуть есть русский HELP для C++
Что ты под этим подразумеваешь?

Автор: GerVin Jun 1 2006, 16:35

Хм, а где это такие лабы по Си сдают?

Автор: Gobbs Jun 1 2006, 16:53

Цитата(GerVin @ Jun 1 2006, 17:35) *
Хм, а где это такие лабы по Си сдают?

ЭЭ-РЗА . А что?

Автор: GerVin Jun 1 2006, 19:28

Да нет ничего, у нас ... другие лабы были по СИ smile.gif

Автор: Lenin Jun 7 2006, 00:03

так у кого нибуть есть для Borland C++ 3.00 Help на русском , т.е. как для Pascal

Автор: Lenin Oct 16 2006, 16:19

кто нибуть знает как в С++(Borland) указать файл в main() , чтобы его не надо было бы объявлять повторно в процедурах и функциях при вызове.

Автор: Amp Oct 17 2006, 21:35

Цитата(Lenin @ Oct 16 2006, 17:19) *
указать файл в main() , чтобы его не надо было бы объявлять повторно в процедурах и функциях при вызове.

blink.gif Что хотел сказать? Не понял...
ты про указатель на открытый файл?

Автор: Phoenix Oct 20 2006, 18:35

Цитата(Lenin @ Oct 16 2006, 17:19) *
кто нибуть знает как в С++(Borland) указать файл в main() , чтобы его не надо было бы объявлять повторно в процедурах и функциях при вызове.


Тоже ничего не понял. Напиши понятнее что ты хочешь.

Автор: Lenin Oct 22 2006, 21:32

т.е. у меня функция открывает файл на запись(т.е. ofstream) , в этой же функции вызывается подфункция которая тоже работает с этом файлом, но чтобы работать с ним в подфункции компилятор требует указания этого файла и мне опять приходится писать ofstream(<имя файла>).
Вопрос: как сделать так чтобы не писать повторно ofstream и чтобы подфункция сама уже знала какой я файл указываю.

PS: может чето в параметрах функции прописывать нужно, а?

Автор: SiMM Oct 22 2006, 23:38

Передавай дескриптор файла по ссылке.
PS: хотя в C++ наверно правильнее заюзать ООП.

Автор: Amp Oct 23 2006, 13:09

/*поморщился при упоминании об ofstream (и чем только fread/fwrite не угодили?)*/

Что есть ofstream, ifstream и fstream? Сие есть классы..
В программе объявляются объекты, экземпляры данного класса.
Соотв. их можно передать в функцию, как было сказано выше - по ссылке, по указателю (да и вообще хоть копией объекта)..
Если не принципиально - через глобальную переменную

Автор: SiMM Oct 23 2006, 13:30

Цитата(Amp @ Oct 23 2006, 14:09) *
да и вообще хоть копией объекта
Неправильно это в данном случае.
Цитата(Amp @ Oct 23 2006, 14:09) *
Если не принципиально - через глобальную переменную
Специально не стал писать про глобальные переменные, ибо это не кашерно.

Автор: Amp Oct 23 2006, 16:53

Цитата(SiMM @ Oct 23 2006, 14:30) *
Неправильно это в данном случае.

Это неправильно в любом случае smile.gif))
Но, как способ, осуществимо..
Цитата(SiMM @ Oct 23 2006, 14:30) *
Специально не стал писать про глобальные переменные, ибо это не кашерно.

В лабах в 100-150 строчек это делать можно без зазрения совести и боязни засорить пространство имен..
Если она (совесть) все ж мучает, можно приписать static-модификатор

Автор: Lenin Oct 23 2006, 18:13

Цитата(Amp @ Oct 23 2006, 14:09) *
/*поморщился при упоминании об ofstream (и чем только fread/fwrite не угодили?)*/

на счёт fread/fwrite : я их не изучал и по этому не знаю, в своей лит-ре посмарел , но ничё не нашел, если у тебя еть то дай скачать.

Цитата(Amp @ Oct 23 2006, 14:09) *
Соотв. их можно передать в функцию, как было сказано выше - по ссылке, по указателю (да и вообще хоть копией объекта)..
Если не принципиально - через глобальную переменную


При указании ссылки по моему используется @.
Первый вопрос: если объявляется файл (ofstream(<имя файла>)) то куды нужно @ ставить.
Второй вопрос: как при таком объявлении передать в функцию.

PS: зарание спасибо.

Автор: SiMM Oct 23 2006, 21:11

Цитата(Amp @ Oct 23 2006, 17:53) *
В лабах в 100-150 строчек это делать можно без зазрения совести и боязни засорить пространство имен..
Если она (совесть) все ж мучает, можно приписать static-модификатор
Да не в этом (пространстве имен) дело - просто некашерно smile.gif
Цитата(Lenin @ Oct 23 2006, 19:13) *
на счёт fread/fwrite : я их не изучал и по этому не знаю, в своей лит-ре посмарел , но ничё не нашел, если у тебя еть то дай скачать.
Что мешает Ctrl-F1 (если склероз не изменяет) в IDE нажать на набранном fread/fwrite? Сидите в навороченных IDE, а юзаете даже не на уровне DOS'овских, как будто в командной строке через type con>filename сидите...

Автор: pavel Oct 24 2006, 20:25

Цитата(Lenin @ Oct 22 2006, 22:32) *
т.е. у меня функция открывает файл на запись(т.е. ofstream) , в этой же функции вызывается подфункция которая тоже работает с этом файлом, но чтобы работать с ним в подфункции компилятор требует указания этого файла и мне опять приходится писать ofstream(<имя файла>).


ваще-то у меня нет Borland C++ чтоб проверить, но такой примерчик завалялся:
Код
// Файл PRNT.cpp
#include <fstream.h>     // ifstream, ofstream

void my_func_line_output (ifstream *PRG, ofstream *LIST)
{
  char CHR;              // рабочий символ
  do                     // цикл строки
  {
    *PRG >> CHR;         // чтение и запись символа
    *LIST << CHR;
  }
  while (CHR != '\n' && CHR != EOF);   // конец строки
}

void main ()
{
  const LPG=10,               // размер страницы
       NLEN=20;               // максимальная длина имени файла

  ifstream PRG;               // входной и выходной файлы
  ofstream LIST;
  char NAME[NLEN],            // имя файла
       CHR;                   // рабочий символ
  int  I,LEN,NoExist=0;       // рабочие переменные
  int  NextChar;              // для обнаpужения конца файла

  LIST.open("PRN1.cpp");      // открытие выходного файла
  do                          // начало цикла входных файлов
  {
    cout << "\n Введите имя файла ";
    cin >> NAME;
    PRG.open(NAME);         // открытие входного файла
    if (PRG)                // обработка, если файл существует
    {
      while (PRG.get(CHR)) // цикл страниц
      {
        for (I=1; I<=LPG; I++)
        {                 // начало цикла страницы
           NextChar = PRG.peek();
           if (NextChar == EOF)
           {
             cout << "\n Последняя стpаница - неполная \n";
             goto STO;
           }
           else
              my_func_line_output(&PRG, &LIST);
        }                           // конец стpаницы
      }
      STO: cout << "КОНЕЦ ВЫДАЧИ ОДНОГО ФАЙЛА";
    }
    else NoExist = 1;
  }
  while (!NoExist);         // конец цикла входных файлов
  LIST.close();
}


с виду вроде правильный blush.gif

Автор: Lenin Oct 25 2006, 11:08

Очень тебе благодарен , именно так я и просил !!!!!

Автор: Nom@d Oct 25 2006, 19:27

Люди помогите плиз сделать две лабы на С++ ламаю башку ненаю как сделать

Вот сами лабы http://gallery.pauk.net.ru/albums/userpics/10262/normal_Laba.JPG
Заранее благодарен

Автор: pavel Oct 25 2006, 21:11

Цитата(Nom@d @ Oct 25 2006, 20:27) *
Люди помогите плиз сделать две лабы на С++ ламаю башку ненаю как сделать


лаботряс?

Автор: Nom@d Oct 25 2006, 21:21

Цитата(pavel @ Oct 25 2006, 22:11) *
лаботряс?

пачему лаботряс просто я плохо вникаю в этот С++ да и ешё препод у нас такой
непозавидуеш слов на него нехватает

Автор: pavel Oct 25 2006, 23:15

Цитата(Nom@d @ Oct 25 2006, 22:21) *
я плохо вникаю в этот С++


у вас ссылка не работает. в любом случае лучше словами сформулировать проблеммму по программированию на C++

Автор: SiMM Oct 26 2006, 00:16

Цитата(Nom@d @ Oct 25 2006, 22:21) *
пачему лаботряс
Потому что лабы трясёшь wink.gif

Автор: Nom@d Oct 26 2006, 15:59

Цитата
у вас ссылка не работает. в любом случае лучше словами сформулировать проблеммму по программированию на C++


http://gallery.pauk.net.ru/albums/userpics/10262/Laba.JPG Вот исправил ссылку

Прблемма от в чём: Программы должны содержать дружественный интерфейс и должны быть написаны
в консольном приложении С++

Автор: Gobbs Oct 26 2006, 16:35

Цитата(Nom@d @ Oct 26 2006, 16:59) *
http://gallery.pauk.net.ru/albums/userpics/10262/Laba.JPG Вот исправил ссылку

Прблемма от в чём: Программы должны содержать дружественный интерфейс и должны быть написаны
в консольном приложении С++

чуваГ, это всё халява-пишется за 5 мин. Лучше один раз помучиться и написать всё самому и в дальнейшем не испытывать таких проблем, чем клянчить всё время. Свои мозги и книжка раз в сто лучше любого форума. smile.gif

Автор: Amp Oct 26 2006, 22:57

Меня всегда радовало словосочетание "дружественный интерфейс" в консольном приложении.. особенно применительно к лабам..

Автор: SiMM Oct 26 2006, 23:56

Цитата(Amp @ Oct 26 2006, 23:57) *
Меня всегда радовало словосочетание "дружественный интерфейс" в консольном приложении.. особенно применительно к лабам..
Преподы знают толк в извращениях wink.gif А вдруг кто чего зафигачит? wink.gif

Автор: Amp Oct 27 2006, 14:10

Цитата(SiMM @ Oct 27 2006, 00:56) *
Преподы знают толк в извращениях wink.gif А вдруг кто чего зафигачит? wink.gif

Конечно smile.gif) многие студенты просто мечтают зафигачить ui а-ля ncurses-кий для лабы, считающей a+b laugh.gif

З.Ы.
На википедии вычитал цитату:
В простейшем случае, консольная программа использует интерфейс командной строки, однако, многие из них, с помощью управляющих последовательностей терминалов, создают более дружественный интерфейс, приближающийся к графическому

Как оно smile.gif

Автор: Lenin Nov 7 2006, 15:44

Кто нибуть знает какие операторы используются в С++ для работы с командной строкой
PS: использовал argc и argv[], также и Paramcount и ParamStr . Не помогло

Автор: Amp Nov 7 2006, 16:28

Цитата(Lenin @ Nov 7 2006, 15:44) *
использовал argc и argv[]

Что значит не помогло? Как ты их использовал, показывай

Автор: Gobbs Nov 7 2006, 20:09

Цитата(Lenin @ Nov 7 2006, 15:44) *
Кто нибуть знает какие операторы используются в С++ для работы с командной строкой
PS: использовал argc и argv[], также и Paramcount и ParamStr . Не помогло

Если тебе необходимо принять данные с командной строки призапуске проги, то прописываешь их после названия прги в командной строке. ДАнные будут содержаться в массиве argv[].
Если хочешь из проги направить команду на выполнение через командную строку, то используй ф-ю
system("cmd");
где cmd - это команда, например, format C:\ Пишешь так system("format C:\") ;
Header File - stdlib.h

Автор: Lenin Nov 7 2006, 23:23

Цитата(Amp @ Nov 7 2006, 16:28) *
Что значит не помогло? Как ты их использовал, показывай


я передавал два параметра в функцию main:

void main(int argc, char *argv[])

Автор: Amp Nov 7 2006, 23:57

Цитата(Lenin @ Nov 7 2006, 23:23) *
я передавал два параметра в функцию main:

void main(int argc, char *argv[])

Вопрос в том, как ты потом с этим добром работал? smile.gif)

Автор: Lenin Nov 8 2006, 22:15

void main(int argc, char *argv[])

{
int i;
for (i = 0; i < argc; i++) cout << "argv[" << i << "] " << argv[i] << endl;
}
компилятор пишет : Неизвесный оператор...
А мож библиотеку подключить нужно ,но какую?

Автор: Amp Nov 8 2006, 22:51

Цитата(Lenin @ Nov 8 2006, 22:15) *
void main(int argc, char *argv[])

{
int i;
for (i = 0; i < argc; i++) cout << "argv[" << i << "] " << argv[i] << endl;
}
компилятор пишет : Неизвесный оператор...
А мож библиотеку подключить нужно ,но какую?

У меня все успешно собирает.
1. Приведи текст ошибки подробнее
2. Компилятор какой?
3. Зачем тебе тут библиотека smile.gif)
 ! 
Предупреждение:
Можно же и без намёка на мат обходиццо wink.gif

Автор: Amp Nov 8 2006, 23:18

Ты, надеюсь, iostream.h заинклудил?

Автор: Lenin Nov 9 2006, 17:11

без этого базара нет ругатся будет

Автор: Lenin Nov 14 2006, 17:52

как правильно передать в функцию двойной массив (компилятор руг-я что типы разные )
я писал:

int G[30][34]; <- сами массив
int S[30][34];
.....

Sin[i][j]=Mod(G,k,i,j); <- присваю функцию
....

int Mod(int G[][],int k,int i,int j) <- функция
{int mod=0;
int pom;
pom=k+j-1;
for(j=j;j!=pom;j++) mod=mod+G[i][j];
if(fmod(mod,2)==0)mod=0;else mod=1;
return(mod);
}

Автор: SiMM Nov 14 2006, 23:31

http://club.shelek.com/viewart.php?id=270

Код
typedef int arr[30][34];
...
arr G,S;
...
int Mod(arr &G,...){ ... }
Вся эта шняга от того, что Вы ссылки от значений не отличаете.
PS: вообще конечно const наверно не помешало бы...

Автор: JoNy202 Nov 15 2006, 03:38

Вроде так должно тоже сработать

func(mas[][30]);

Автор: SiMM Nov 15 2006, 07:38

Цитата(JoNy202 @ Nov 15 2006, 03:38) *
Вроде так должно тоже сработать

func(mas[][30]);
ИМХО, типы разные wink.gif

Автор: Amp Nov 15 2006, 14:31

Можно передать адресок, а потом писать что-нибудь навроде *(G+i+arr_width*j)

P.S. проверять не хочу, но действительно, что дурного в int Mod(int G[][34], бла-бла-бла) ?
P.P.S. и вообще, работайте с одномерными массивами smile.gif)
P.P.P.S. А в яндексе спросить нельзя? По этой теме вываливается масса ссылок

Автор: SiMM Nov 15 2006, 14:47

Цитата(Amp @ Nov 15 2006, 14:31) *
Можно передать адресок, а потом писать что-нибудь навроде *(G+i+arr_width*j)
Извращение. А, собственно, мой вариант и есть передача ссылки.
Цитата
P.S. проверять не хочу, но действительно, что дурного в int Mod(int G[][34], бла-бла-бла) ?
Типы разные smile.gif

Автор: Amp Nov 15 2006, 18:24

Цитата(SiMM @ Nov 15 2006, 14:47) *
Извращение.

Усе нормально smile.gif) ну сделал индексацию вместо компилятора.. делов-то smile.gif)
Цитата(SiMM @ Nov 15 2006, 14:47) *
Типы разные smile.gif


Мы говорим о разных вещах может быть??? Я имел в виду вот это, причем ЭТО компилируется и вроде как работает :

Код
#include <stdio.h>

void Mod(int the_A[][34])
{
    printf("%d",the_A[10][10]);
}

int main()
{
    int    A[30][34];

    Mod(A);

    return 0;
}

Автор: SiMM Nov 15 2006, 20:14

Цитата(Amp @ Nov 15 2006, 18:24) *
Я имел в виду вот это, причем ЭТО компилируется и вроде как работает
Видимо, правила игры поменялись. Такое бывает smile.gif Особенно когда юзвери достают разработчиков smile.gif

Автор: Lenin Nov 18 2006, 18:21

с тем масивом я справился, спасибо SIMM.
теперь проблема с использованием русского языка в С++.

Например в графическом режиме я перехожу к текстовому в вывожу строку , а она каракулями.
я пробовал функции писать по изменению кода символов, но всё рано ничего не получил, как быть?

Автор: SiMM Nov 18 2006, 19:08

В консоли юзается CP866, а не CP1251, если я ничего не напутал и ничего не забыл.

Автор: Amp Nov 18 2006, 21:32

Охх.. как быть.. в паскале на моей памяти подключались какие-то волшебные .ch-файлы.. точно не помню.. потом можно для конкретной машины что-то там помудить с настройками шрифтов в консоли..

Вообще - пиши на английском.. имхо красивее

Автор: Lenin Nov 18 2006, 22:27

Цитата(SiMM @ Nov 18 2006, 19:08) *
В консоли юзается CP866, а не CP1251, если я ничего не напутал и ничего не забыл.

в каком месте мож описать...

Автор: Gobbs Nov 18 2006, 22:39

unicode чем вам не угодил?

Автор: SiMM Nov 18 2006, 23:20

Цитата(Gobbs @ Nov 18 2006, 22:39) *
unicode чем вам не угодил?
Пояснил бы сразу...
http://forum.ru-board.com/topic.cgi?forum=33&topic=4227&start=280#15
Код
// C++
#define UNICODE
#define _UNICODE

#include <iostream>

using namespace std;

int wmain()
{
    wcout.imbue(locale(".866"));
    wcout << L"Привет!" << endl;

    return(0);
}
Код
// C
#define UNICODE
#define _UNICODE

#include <stdio.h>
#include <locale.h>

int wmain()
{
    setlocale(LC_ALL, "rus_rus.866");
    wprintf(L"Привет!\n");

    return (0);
}
Ещё вариант
http://www.rsdn.ru/article/qna/ui/concp.xml
Цитата
Заменяем родную переключалку раскладки клавиатуры Windows на RusLat от Сергея Быкова, а для редактора Visual Studio изменям шрифт (Tools->Options->Format->Source Windows->Font) на любой шрифт для досовских окошек, например Terminal. Переключаем клавиатуру на раскладку DOS-CP866 (есть в RusLat'е и такая, наряду с KOI-8 и Russian Translit) и можно работать с текстом нашей досовской программы в редакторе Visual Studio. Русские буквы в досовской кодировке правильно читаются, т.к. установлен соответствующий шрифт и их можно редактировать, т.к. для клавиатуры установлена досовская раскладка.

Автор: pavel Nov 19 2006, 02:25

Цитата(Amp @ Nov 18 2006, 21:32) *
потом можно для конкретной машины что-то там помудить с настройками шрифтов в консоли..
поменять кодовую страницу консоли - команда chcp
поменять шрифт - в свойствах консольного окна - там выбор из точечных (только 866) и Lucida Console (еще и 1251), когда жмем OK - предлагается сохранить настройки для всех окон с таким именем (лучше сохранять только для cmd.exe, а то far глючит вроде)
Цитата(Amp @ Nov 18 2006, 21:32) *
в паскале на моей памяти подключались какие-то волшебные .ch-файлы
и в сишном, и паскалевском варианте BGI использовались одни и те же chr-шрифты
в тех, которые идут по умолчанию просто нет русских букв, поэтому перекодировать строки там бесполезно (также как и менять кодировку консоли). русские шрифты можно поискать в интернете, я нашел только эти: http://pascal.sources.ru/graph/bgirfont.zip, они вроде рассчитаны на досовские строки
меняется шрифт функцией installuserfont (если на этом слове в среде нажеть Ctrl-F1 будет объясняловка с примером)

Автор: Amp Nov 19 2006, 14:12

Цитата(SiMM @ Nov 18 2006, 23:20) *
Пояснил бы сразу...
http://forum.ru-board.com/topic.cgi?forum=33&topic=4227&start=280#15

Это все хорошо, но у меня ощущение, что человек пользуется старым борландовским компилятором..

Автор: JoNy202 Nov 19 2006, 15:07

Возможно в системе, на которой запускается прога, нет такого шрифта

Юникод рулед wink.gif

Автор: Lenin Nov 19 2006, 19:31

мне короче нужно сделать совсем другое, т.е. если смотреть на написанное в окне с уменьшенным режимом русские буквы различимы, а с увеличенным хрень какаято(режим меняется с Alt-Enter)
у меня в программе графический режим меняется на текстовый и выводится строки на русском . ента херня вся протекает в увеличенном режиме. когда выходишь из проги в уменьшенный и жмешь Alt-F5
то все понятно, в чем проблема разъясните пожалуйста а то уже не понимаю что делать

Автор: Amp Nov 19 2006, 21:58

А зачем из графического режима прыгать в текстовый и писать что-то на экране?? Это логика работы программы что ли такая?

Автор: Lenin Nov 20 2006, 00:38

в программе выводится текстовый файл большого объема, в графическом выводить както всё это не охота, как быть то с проблемой ответьте

Автор: Lenin Nov 21 2006, 13:47

ту проблему решил с помощью промежуточной проги
проблема тут еще в одном,
проверьте код ктонить, чёто не пойму в чём проблема

Код
#include <fstream.h>
#include <iostream.h>
#include <MATH.H>
int i,j,k=4;
int H[34][4];
void main(){
  for (i=0;i!=pow(2,k);i++)
    for (j=0;j!=k;j++) {
      if (modf(j,pow(2,k-j))<pow(2,k-j-1)) H[i][j]=0;
      else H[i][j]=1;
    }
}


ps:проверяйте на своём компиляторе , а не тупо смотря на него

Автор: pavel Nov 21 2006, 16:03

Цитата(Lenin @ Nov 21 2006, 13:47) *
проверьте код ктонить, чёто не пойму в чём проблема
действительно, а в чем проблемма smile.gif
Код
int k=4;
int H[34][4];
for (int i=0; i<1<<k; i++)
    for (int j=0; j<k; j++) {
        if (j%(1<<(k-j)) < 1<<(k-j-1))
            H[i][j]=0;
        else
            H[i][j]=1;
    }


PS. а зачем в H 34, если он пробегает только от 0 до 2^4-1=15 ?

Автор: SiMM Nov 21 2006, 16:31

Цитата(Lenin @ Nov 21 2006, 13:47) *
проверьте код ктонить, чёто не пойму в чём проблема
http://www.delphikingdom.com/asp/viewitem.asp?catalogID=374
Код
cout << (16-pow(2,4));

Автор: Lenin Nov 22 2006, 15:17

проблему решил, SIMM спасиб

Автор: Lenin Nov 29 2006, 20:21

тут ещё одна проблема возникла , мне нужно по ходу программы увеличить размер двумерного массива,
как это можно сделать не очень загружая код

Автор: SiMM Nov 30 2006, 00:40

Опиши задачу - проще всего - сразу сделать массив нужного объёма.

Автор: Lenin Nov 30 2006, 16:41

задача ставится с работай кода Хемминга, я хочу чтобы размер матриц точно совпадал по размерности кода. Размерность кода вычисляется из размера входного кодового слова.
Например:
если кодовое слово из n символов, то размерность (n+k,k).
Всё это делается для экономии памяти, т.к. n заведомо не определено

Автор: SiMM Nov 30 2006, 20:52

Что-то я не вкурю, зачем для реализации кода Хемминга нужна аж целая матрица (тем более при желании сэкономить память) - вполне должно быть достаточно буфера в n+k бит (хотя даже здесь можно сэкономить, если подумать - если не ошибаюсь, доведя буфер до k бит).

Форум Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)