HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 26.06.2007, 20:03
Fire3d
Познающий
Регистрация: 14.04.2007
Сообщений: 46
Провел на форуме:
842554

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

Возвращаюсь к опросам....
Цитата:
uses crt;

procedure variant(c,x,y:integer;s:string);
begin
textcolor(c); gotoxy(x,y); write(s);
end;

procedure vopros(c,x,y:integer;s:string);
begin
textcolor(c); gotoxy(x,y); write(s);
end;

var otvet,ball,summa:integer;
i:byte;
begin
clrscr;
ball:=0;
vopros(2,30,1,'B kakom weke no9BuJIc9 komp. ?');
variant(14,2,1,'1)‚ 21 weke.');
variant(14,2,2,'2)ў 19 weke. ');
variant(14,2,3,'>'); read(otvet);

clrscr;

vopros(2,30,1,'Antichat-samu ly4shi ?');
variant(14,2,1,'1)Da!');
variant(14,2,2,'2)Hea!');
variant(14,2,3,'>');readln(otvet);

if otvet=1 then ball:=ball+5;
summa:=ball;
if otvet=2 then ball:=ball-5;
writeLn('Vash ball=',summa);
readkey;
end.
Хм...если сделать рандом.... в моем случие при рандоме окажется vopros(2,30,1,'Antichat-samu ly4shi ?'); 1)Нет а 2)Да....
и бал в минус пойдет а ответ будет верный как выйти из ситуции....?

Последний раз редактировалось Fire3d; 26.06.2007 в 20:23..
 
Ответить с цитированием

  #22  
Старый 30.06.2007, 12:11
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

Имеет место быть следующее задание:

Вариант задания реализовать в виде функции, использующей для работы со строкой только указатели и операции вида *p++, p++ и т.д..

" Быстрая" сортировка (разделением) с использованием указателей
на правую и левую границы массива, текущих указателей на правый и левый
элемент и операции сравнения указателей.

------

я не знаю с чего начать.
объясните пожалуйста попроще что значит " Быстрая" сортировка (разделением),
а я уже на основе этого сам всё сделаю.
 
Ответить с цитированием

  #23  
Старый 30.06.2007, 12:43
The_HuliGun
Участник форума
Регистрация: 19.05.2007
Сообщений: 228
Провел на форуме:
4325663

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

Ето алгоритм QuickSort, читай здесь
 
Ответить с цитированием

  #24  
Старый 30.06.2007, 16:32
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

никак не могу сделать этот квиксорт =\


вот чего я делаю:
1. задаю каким-то хреном середину массива (этот выбор наугад совсем мне не нравится, херня какая-то)
2. затем ищу слева число, больше или равное данному.
если не нашёл, то оно получается такое же как и в середине.
3. ищу слева меньшее данного. или опять же ему равное?
вот уже из-за этой херни я не вижу там логики.
сколько описаний в сети не прочёл - нигде не сказано точно.
примеров нормальных вообще нет.

сравнил два числа, (если они не равны друг другу), поменял местами.
затем снова ищу. и так наверно до тех пор пока они в любом случае не станут равны друг другу. (ну вот такие рассуждения хоть как-то упорядочивают мои мысли. сортируют их блин.)

потом в примере написано надо брать середину левой части. опять же наугад. какой идиот это писал?
и доводить всё до того, пока левая часть не станет равна одному элементу массива.
а что дальше?
и как всё это реализовать?

помогите, набросайте хоть какой-нить пример нормальный
 
Ответить с цитированием

  #25  
Старый 30.06.2007, 16:54
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

да уж, куда этому идиоту хоару до нас...
 
Ответить с цитированием

  #26  
Старый 30.06.2007, 17:15
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

:d
да не хоар идиот, а тот кто учебник писал. там таки и пишут - возьмём наугад.. чо за херня, как можно делать что-то наугад? в топку таких учителей
 
Ответить с цитированием

  #27  
Старый 30.06.2007, 17:24
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

наугад, потому что выбор элемента абсолютно никак не влияет на конечную эффективность.
зы наугад читай как произвольным образом.
 
Ответить с цитированием

  #28  
Старый 30.06.2007, 18:24
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

вот можно ли это дело изменить так чтобы функция работала только на указателях?


void quicksort(int *array, int start, int stop)
{
int left = start,
right = stop,
center = array[(start + stop) / 2];

while(left<right)
{
while(array[left]<center) left++;
while(array[right]>center) right--;
if(left<=right)
{
swap(&array[left], &array[right]);
left++;
right--;
}
}
if(right>start) quicksort(array, start, right);
if(left<stop) quicksort(array, left, stop);
}
 
Ответить с цитированием

  #29  
Старый 30.06.2007, 18:37
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

array[i] -> *(array+i)
&array[i] -> array+i
 
Ответить с цитированием

  #30  
Старый 01.07.2007, 09:38
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

задача: Функция находит в строке заданную подстроку и
возвращает динамический массив указателей на все вхождения этой подстроки.

так вот я не знаю, какой размер задать массиву? получается всякая чушь:

Код:
#include "stdio.h"
void strf(char s1[], char s2[], int pos=0)
{
	int n = sizeof(s1)/sizeof(s1[0]);
	int n2 = sizeof(s2)/sizeof(s2[0]);
	char *mass[20];
	for(int i=0; i<=n; i++)
	{
	if(s1[i] == s2[i])
	{
	int g=i;
	for(int l=i; l<=n2; l++)
		if(s1[l]!=s2[l])
		{
		int g=-1; break;
		}
	mass[i] = &s1[g];
	}
	}

}


void main()
{
	char s1[] = "Terriuckble Fucker Stuckpidly";
	char s2[] = "uck";
		strf(s1,s2);
}
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ