ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #601  
Старый 06.06.2008, 18:21
A2GIL
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме:
422909

Репутация: 200
Отправить сообщение для A2GIL с помощью ICQ
По умолчанию

2Catsy

Цитата:
помогите пожалуйста
(паскаль)
1) сумма с точностью
Даны действительные числа x и ε (x≠0, ε > 0). Вычислить с точностью ε и указать количество учтенных слагаемых

2) рекурсия
Даны действительные числа x и ε (x≠0, ε > 0). Вычислить с точностью ε и указать количество учтенных слагаемых
Вычисление выражения под знаком суммы выполнить через рекурсию.
Эх студент...


Код:
var
 Sx,e:real;
 x:integer;
 k:word;

function Factorial(n: Word): Int64;
var
  f: Int64;
  i: Integer;
begin
  f := 1;
  for i := 2 to n do
    f := f * i;
  Factorial := f;
end;

function Degree(x: real;y:word): real;
begin
if (x=0) then begin
   Degree:=0;
 end
else begin
 Degree:=Exp(y*Ln(abs(x)));
if (x<0) and (y mod 2<>0) then begin
   Degree:=(-1)*Exp(y*Ln(abs(x)));
 end;
end;
end;

function RecursiveSum(x:integer;e:real):real;
begin
 sx:=sx+(Degree((-1),k)*Degree((x/2),2*k+1))/(Factorial(k)*Factorial(k+1));
  if Abs(Sx)<e then
     RecursiveSum(x,e);
 RecursiveSum:=Sx;
end;

begin
 ClrScr;
 Sx:=0;
 k:=0;
 write('Vvedite x (x!=0) : ');readln(x);
 write('Vvedite e (e>0) : ');readln(e);
 if (e<=0) or (x=0) then
  begin
   writeln('Error!');
   writeln('Press any key to exit...');
   readln;
   exit;
  end;
 writeln('****************************');
 writeln('1) Summa s tochnostju e:');
 writeln;
  while abs(Sx)<e do
   begin
    sx:=sx+(Degree(-1,k)*Degree(x,4*k+1))/(Factorial(2*k)*(4*k+1));
    k:=k+1;
   end;
   writeln(Sx);
   writeln;
  writeln('****************************');
  writeln('2) Recursiya s tochnostju e:');
  writeln;
  Sx:=0;
  k:=0;
  Sx:=RecursiveSum(x,e);
  Writeln(Sx);
  writeln;
 readln;
 
Ответить с цитированием

  #602  
Старый 07.06.2008, 10:57
Buffalon
Постоянный
Регистрация: 22.03.2008
Сообщений: 325
Провел на форуме:
1208132

Репутация: 63
По умолчанию

Плиз помогите ... .На СИ+
Разработать программу, оперирующую элементами. Способы динамического представления элементов,
Элементы реализуются структурами (struct).
Обработка исключительных ситуаций обязательна. (Можно и без неё)
=>
2. Очередь
Операции:
включение элемента;
исключение элемента;
просмотр элемента, находящегося в начале очереди;
поиск элемента по заданному значению;
просмотр всего содержимого.
=>многочлены (тип – double).
 
Ответить с цитированием

  #603  
Старый 07.06.2008, 13:55
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

>>Очередь
Операции:
включение элемента;
исключение элемента;
просмотр элемента, находящегося в начале очереди;
поиск элемента по заданному значению;
просмотр всего содержимого.
=>многочлены (тип – double). <<

Все это довольно просто реализуется средствами STL
 
Ответить с цитированием

  #604  
Старый 07.06.2008, 15:03
Buffalon
Постоянный
Регистрация: 22.03.2008
Сообщений: 325
Провел на форуме:
1208132

Репутация: 63
По умолчанию

612... .
Я понимаю.. .Обминяю на скрипт ПХП+MySQL_)
Но тем неменее нимогу реализовать ,((
 
Ответить с цитированием

  #605  
Старый 07.06.2008, 22:11
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

счас придумаем чиво нидь 8) .... скрипты не нужны плюсуйте!

Код:
struct spelem
{
	int flag; //-1=net elementa 1=srednii element 2=poslednii
	long znach;
	char *p_prev; // ukazatel na prediduschii
	char *p_next; // ukazatel na sleduiuschii
};

struct mspis
{
	int flag;
	spelem first;
};

mspis my_spisok;

void add_elem(long znach)
{
	spelem *elem;
	spelem *p;
	int i;
	if(my_spisok.first.flag==-1)
    {
	   my_spisok.first.flag=2;
	   my_spisok.first.znach=znach; 	
	}
	else
	{
		for(elem=(spelem *)&(my_spisok.first);elem->flag!=2;elem=(spelem *)(elem->p_next))
			i++;
        elem->flag=1;
		p=new spelem;
		elem->p_next=(char *)p;
		p->flag=2;
		p->p_prev=(char *)elem;
		p->znach=znach;
	}
}

void show_all()
{
	spelem *elem;
	spelem *p;
	char buf[30];
 
      for(elem=(spelem *)&(my_spisok.first);elem->flag!=2;elem=(spelem *)(elem->p_next)) 
	  	printf("%d\r\n",elem->znach);
	    printf("%d\r\n",elem->znach);
	  
}
int find_elem(long znach)
{
	spelem *elem;
	spelem *p;
	char buf[30]; 
	int counter;
	for(counter=1,elem=(spelem *)&(my_spisok.first);elem->flag!=2;elem=(spelem *)(elem->p_next)) 
	{
		if(elem->znach==znach)
			return counter;
        counter++;
	}
        if(elem->znach==znach)
	  return counter;
       else
          return -1;
}
void delete_elem(int number)
{
	spelem *elem;
	spelem *p;
	spelem *prev;

	char buf[30]; 
	int counter;
     if(my_spisok.first.flag==2)
         my_spisok.first.flag=-1;
     else
     {
	for(counter=1,elem=(spelem *)&(my_spisok.first);elem->flag!=2;elem=(spelem *)(elem->p_next)) 
	{
        if(counter==number)
		{
           prev=(spelem *)(elem->p_prev);
		   p=(spelem *)(elem->p_next);
           prev->p_next=elem->p_next;
		   p->p_prev=elem->p_prev;
		   free elem;
		}
        counter++;
	}
	if(counter==number)
	{
		prev=(spelem *)(elem->p_prev);
               prev->flag=2;
		free elem;
	}
    }
}
void init_spisok()
{
  my_spisok.first.flag=-1;
}

Последний раз редактировалось Delimiter; 08.06.2008 в 00:46..
 
Ответить с цитированием

  #606  
Старый 08.06.2008, 11:45
Alrion
Новичок
Регистрация: 07.06.2008
Сообщений: 9
Провел на форуме:
12960

Репутация: 0
По умолчанию

По лабораторной нужно написать сниффер. Сниффер я нашел даже смог его собрать (что для меня уже круто ) НУжно сделать так что бы сниффер записывал выводимую информацию в лог файл. Спасибо. (Язык Vc++)
Код:
#include <conio.h>
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")

#define MAX_PACKET_SIZE    0x10000
#define SIO_RCVALL         0x98000001
// Буфер для приёма данных
char Buffer[MAX_PACKET_SIZE]; // 64 Kb

//Структура заголовка IP-пакета

typedef struct IPHeader {
  UCHAR   iph_verlen;   // версия и длина заголовка
  UCHAR   iph_tos;      // тип сервиса
  USHORT  iph_length;   // длина всего пакета
  USHORT  iph_id;       // Идентификация
  USHORT  iph_offset;   // флаги и смещения
  UCHAR   iph_ttl;      // время жизни пакета
  UCHAR   iph_protocol; // протокол
  USHORT  iph_xsum;     // контрольная сумма
  ULONG   iph_src;      // IP-адрес отправителя
  ULONG   iph_dest;     // IP-адрес назначения
} IPHeader;

char src[10];
char dest[10];
char ds[15];
unsigned short lowbyte;
unsigned short hibyte;

void main()
{
  WSADATA     wsadata;   // Инициализация WinSock.
  SOCKET      s;         // Cлущающий сокет.
  char        name[128]; // Имя хоста (компьютера).
  HOSTENT*    phe;       // Информация о хосте.
  SOCKADDR_IN sa;        // Адрес хоста
  IN_ADDR sa1;        //
  unsigned long        flag = 1;  // Флаг PROMISC Вкл/выкл.

  // инициализация
  WSAStartup(MAKEWORD(2,2), &wsadata);
  s = socket( PF_INET, SOCK_RAW, 0 );
  gethostname(name, sizeof(name));
  phe = gethostbyname( name );
  ZeroMemory( &sa, sizeof(sa) );
  sa.sin_family = AF_INET;
  sa.sin_addr.s_addr = ((struct in_addr *)phe->h_addr_list[0])->s_addr;
  bind(s, (SOCKADDR *)&sa, sizeof(SOCKADDR));
  
  // Включение promiscuous mode.
  ioctlsocket(s, SIO_RCVALL, &flag);

  // Бесконечный цикл приёма IP-пакетов.
  while( !_kbhit() )
  {
    int count;
    count = recv( s, Buffer, sizeof(Buffer), 0 );
    // обработка IP-пакета
    if( count >= sizeof(IPHeader) )
    {
      IPHeader* hdr = (IPHeader *)Buffer;
      //Начинаем разбор пакета...

	strcpy(src,"Пакет: ");
	CharToOem(src,dest);
	printf(dest);
	// Преобразуем в понятный вид адрес отправителя.
	printf("From ");
	sa1.s_addr = hdr->iph_src;
	printf(inet_ntoa(sa1));

	// Преобразуем в понятный вид адрес получателя.
	printf(" To ");
	sa1.s_addr = hdr->iph_dest;
	printf(inet_ntoa(sa1));

	// Вычисляем протокол. Полный список этих констант
	// содержится в файле winsock2.h
	printf(" Prot: ");
	if(hdr->iph_protocol == IPPROTO_TCP) printf("TCP ");
	if(hdr->iph_protocol == IPPROTO_UDP) printf("UDP ");
	if(hdr->iph_protocol == IPPROTO_IP) printf("IP ");
	if(hdr->iph_protocol == IPPROTO_ICMP) printf("ICMP ");
	if(hdr->iph_protocol == IPPROTO_IGMP) printf("IGMP ");
	if(hdr->iph_protocol == IPPROTO_GGP) printf("GGP ");
	if(hdr->iph_protocol == IPPROTO_PUP) printf("PUP ");
	if(hdr->iph_protocol == IPPROTO_IDP) printf("IDP ");
	if(hdr->iph_protocol == IPPROTO_ND) printf("ND ");
	if(hdr->iph_protocol == IPPROTO_ICLFXBM) printf("ICLFXBM"); 
    if(hdr->iph_protocol == IPPROTO_ICMPV6) printf("ICMPV6");
	if(hdr->iph_protocol == IPPROTO_IPV6) printf("IPv6");
	if(hdr->iph_protocol == IPPROTO_RAW) printf("RAW ");
	if(hdr->iph_protocol == IPPROTO_MAX) printf("MAX ");
	

	

	// Вычисляем размер. Так как в сети принят прямой порядок
	// байтов, а не обратный, то прийдётся поменять байты местами.
	printf("Size: ");
	lowbyte = hdr->iph_length>>8;
	hibyte = hdr->iph_length<<8;
	hibyte = hibyte + lowbyte;
	//printf("%s",itoa(hibyte,ds,10));
	printf("%u", hibyte);

	// Вычисляем время жизни пакета.
	printf(" TTL:%s",itoa(hdr->iph_ttl,ds,10));
	printf("\n");

    }
  }

  closesocket( s );
  WSACleanup();
}
 
Ответить с цитированием

  #607  
Старый 08.06.2008, 14:14
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

Код:
void log_create(char *log_name)
{
  FILE *fp;
	if ((fp=fopen(log_name, "w+") ==NULL)
	{
	  printf("Не удалось создать файл журнала\n");
	  exit(1);
	}

	fprintf(fp, "текст лога\n");
	fclose(fp);
}
 
Ответить с цитированием

  #608  
Старый 08.06.2008, 16:49
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

Во-первых это не снифер.... ВЕРНЕЕ это не совсем снифер!
(Отгадай какие пакеты он не будет выводить? Ответ внизу )

Во вторых НЕПОХЕК(z0mbie код давать с кривой вставкой 8))) ГЛАЗ РЕЖЕТ)!!! множественные сравнения!
Код:
	if(hdr->iph_protocol == IPPROTO_TCP) printf("TCP ");
	if(hdr->iph_protocol == IPPROTO_UDP) printf("UDP ");
	if(hdr->iph_protocol == IPPROTO_IP) printf("IP ");
	if(hdr->iph_protocol == IPPROTO_ICMP) printf("ICMP ");
	if(hdr->iph_protocol == IPPROTO_IGMP) printf("IGMP ");
	if(hdr->iph_protocol == IPPROTO_GGP) printf("GGP ");
	if(hdr->iph_protocol == IPPROTO_PUP) printf("PUP ");
	if(hdr->iph_protocol == IPPROTO_IDP) printf("IDP ");
	if(hdr->iph_protocol == IPPROTO_ND) printf("ND ");
	if(hdr->iph_protocol == IPPROTO_ICLFXBM) printf("ICLFXBM"); 
    if(hdr->iph_protocol == IPPROTO_ICMPV6) printf("ICMPV6");
	if(hdr->iph_protocol == IPPROTO_IPV6) printf("IPv6");
	if(hdr->iph_protocol == IPPROTO_RAW) printf("RAW ");
	if(hdr->iph_protocol == IPPROTO_MAX) printf("MAX ");
ХЭК! Если хочешь не пятерку лабу сдать!
Код:
     switch(hdr->iph_protocol)
     {
        case IPPROTO_TCP: printf("TCP "); break;
        .........
        case IPPROTO_MAX: printf("MAX "); break;
        default: printf("UNKNOWN ");
     }
В третьих ты упустил мааааааааленький параметр ПОРТ!
Давай угодаю с одного раза .....попробовал но выводится лажа? (порядок байтов - великая сила!)

Ответ... такие програмульки не выводят трафик портов обработчики которых ОТСУТСТВУЮТ!
да и файрволы блокируют в 50-ти случаях из 100 (в зависимости от сетевухи ) исходящий трафик, та же ситуация наблюдается и с мопедами даже в отсутствии файерволофффф!
НО ДЛЯ ЛАБЫ СОЙДЕТ!

Последний раз редактировалось Delimiter; 08.06.2008 в 17:06..
 
Ответить с цитированием

  #609  
Старый 08.06.2008, 22:34
hoty
Познающий
Регистрация: 20.05.2008
Сообщений: 81
Провел на форуме:
224517

Репутация: 32
По умолчанию

ЗАДАНИЕ:
По предлагаемому алгоритму, написать программу:

На Вход подаются: Два УпорядоченныХ множества A и B (МассивЫ).
Нужно проверить, принадлежит A к B или нет. Если да, то 1, нет, то 0.
Выход: да или нет (1 или 0, true или false).

ОПИСАНИЕ АЛГОРИТМА (по нему программу составит нужно):
i:=1; j:=1; // указатели на начало множеств
пока i№ |A|+1 и j№ |B|+1 цикл
если A[i] < B[j] то вернуть 0 и выход // элемент A отсутствует в B
иначе если A[i] > B[j] то j:=j+1 // переход к след. элементу B
иначе // элементы совпали – перейти к следующим
i:=i+1; j:=j+1;
конец если
конец цикла
если i=|A|+1 то вернуть 1 иначе вернуть 0.<


ЧТО Я ДЕЛАЮ:
uses crt;
const n=5;
var a: array [1..n] of integer;
var b: array [1..n] of integer;
var i,j,x,y: integer;
begin
clrscr;
writeln('a[i]');

for i:=1 to n do // солздаем массиив a (множество)
begin // упорядоченное
write('Eneter ',i,' Element : ');
readln(x); a[i]:=x;
end;

writeln; writeln('b[i]');

for i:=1 to n do // солздаем массиив b (множество)
begin // упорядоченное
write('Eneter ',i,' Element : ');
readln(y); b[i]:=y;
end;


i:=1; j:=1; // код, написанный на основе
while (a[i]+1) and (b[i]+1) do //представленнго алгоритма
begin
if a[i] < a[i]+1 then return 0;
else
begin
if a[i] > b[i] then j:=j+1;
else i:=i+1; j:=j+1;
end;
end;
if i:=a[i]+1 then return 1; else return 0;

readkey;
end.

программма не запускается. пишет ошибку 40 в условии цикла while.
естественно, как заработает (если заработает :-( .. ), сделаю, так чтобы после ввода любого массива, он сортировался автоматом. Это чтобы препод, совсем расслабился, просто вбил много цифр, а они на ему отсортировались в упорядоченное множество))))

ПРОШУ ПОМОГИТЕ МНЕ. ПРОГРАММ НЕ РАБОТАЕТ.
ТНКНИТЕ МНЕ НОСОМ, ПОЖАЛУЙСТА. ДВА ДНЯ МУЧАЮСЬ (((
Все таки раздел помощи (я свои наработки даю).
Помогите, ПОЖАЛУЙСТА.

Последний раз редактировалось hoty; 09.06.2008 в 00:58..
 
Ответить с цитированием

  #610  
Старый 09.06.2008, 12:18
Mosvit
Познающий
Регистрация: 05.03.2007
Сообщений: 99
Провел на форуме:
744734

Репутация: 44
Question

Всем привет!
Есть код в котором дана матрица 6*6, программа меняет столбцы местами (первый и последний, второй и предпоследний и т.д.), эта часть программы работает хорошо, но у полученой матрицы ещё нужно поставить элементы побочной диагонали по-возрастанию, в этом и нужна помощь.

Код программы:
Код:
program pr7;
uses crt;
const n=6; m=6;
a:array[1..n,1..m] of integer=((0,2,1,2,5,6),
                               (4,5,7,8,1,8),
                               (0,6,2,3,3,4),
                               (5,6,1,9,7,1),
                               (1,2,3,4,5,6),
                               (6,5,4,3,2,1));
  var i,j,k:integer;
begin
clrscr;
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j],' ');
writeln;
end;
for i:=1 to n do
begin for j:=0 to m-1 do
begin
if j<3 then begin
k:=a[i,j+1];
a[i,j+1]:=a[i,n-j];
a[i,m-j]:=k;
end; end; end;
writeln;
writeln;
for i:=1 to n do begin
 for j:=1 to m do write(a[i,j],' ');
writeln;
end;
readkey
end.
Паскаль
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 


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




ANTICHAT.XYZ