Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2010, 14:43   #1
Катюшенька
Пользователь
 
Аватар для Катюшенька
 
Регистрация: 08.12.2008
Сообщений: 32
По умолчанию Борланд си

Все ничего.. есть готовая прога для Борланд Си

У меня переустановлена система..
И сам Борланд не установила..
Мне нужны данный на тест проги..

Просто введите последовательность 101 и сктньте кусок результата из файлов: PSP(char).dat и PSP(bit).dat не надо мне весь полученный результат, просто 10 первых строчек..
А вот и программа:



Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>

int powD(int n) //функция для возведения 2 в степень n
{
 int i=1,j=1,k;
 if(n==0)
 return 1;
 else
  {
   for(i;i<=n;++i)
   j*=2;
   return j;
  }
}

void main()
{ 
 clrscr();
 randomize();
 int A[40]; //создаем и задаем начальное состояние LFSR
 for(int LFSR=0;LFSR<40;++LFSR)
 A[LFSR]=random(2);
 int B[55];
 for( LFSR=0;LFSR<55;++LFSR)
 B[LFSR]=random(2);
 int C[31];
 for( LFSR=0;LFSR<31;++LFSR)
 C[LFSR]=random(2);
 int a,b,c,w,j,k,t=0,q,buf=0;
 char psp;
 FILE *out=fopen("PSP(char).dat","w"); //создаем файл для хранения ПСП
 FILE *oud=fopen("PSP(bit).dat","w");
 unsigned long int r=0;
 printf("Vvedite razmer PSP:\n");
 scanf("%d",&r);
 printf("Podozhditе, idet rabota programmi…\n");
 r=r*1048576;
 for(unsigned long int i=0;i<r;i++) //цыкл для отследывания длины ПСП

  {
   a=A[9]^A[4]^A[0]; //Находим начальный элемент каждой LFSR
   b=B[7]^B[3]^B[0];
   c=C[20]^C[3]^C[0];
   if(t==8) t=0;
   if(A[0]==1) //находим колличество LFSR кончающиеся 1
   buf++;
   if(B[0]==1)
   buf++;
   if(C[0]==1)
   buf++;
   if(buf>1) //если больше чем 1

    {
     fprintf(oud,"%d",1); //записуем в файл 1
     psp=psp+powD(t); //и изменяем соотвествуюющий бит переменной ПСП на 1
    }

   else //1 или меньше

    {
     fprintf(oud,"%d",0); //записываем в файл ноль
    }

   if(t==7) fprintf(out,"%c",psp); //если t = 7 записываем ПСП в файл
   t++;
   for(LFSR=0;LFSR<40;LFSR++) //сдвигаем LFSR

    {
     A[LFSR]=A[LFSR+1];
    }

   A[39]=a;
   for(j=0;j<55;j++)

    {
     B[j]=B[j+1];
    }

   B[54]=b;
   for(k=0;k<31;k++)

    {
     C[k]=C[k+1];
    }

   C[30]=c;
   buf=0;
  }

 printf("Vse! Mojete posmotret rezultat…"); //конец
 getch();
}
Я буду очень вам благодарна..
Верю... Надеюсь... Люблю...
Катюшенька вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 борланд паскаль 7.0 Vanhell Помощь студентам 7 02.04.2010 18:40
борланд паскаль 7.0 Vanhell Помощь студентам 1 01.04.2010 21:05
Структуры в Борланд Си Алекс...))) Помощь студентам 1 26.02.2009 14:18
Строки в Борланд Си......... Алекс...))) Помощь студентам 6 16.02.2009 18:32