Цитата(Diamond00744 @ 24.5.2011, 1:20)
Школьные компьютеры нужны только для экспериментов
В школе был установлен Delphi. Я там создал формочку типа "отправьте СМС туда-то" и поместил в автозагрузку... Что случилось потом - узнаете в следующей, 197-й серии
надеюсь, её нельзя было закрыть через диспетчер задач?)))
Diamond00744
24.5.2011, 22:34
Можно. Но зачем они мастеров вызвали, непойму...
Цитата(Diamond00744 @ 24.5.2011, 22:34)
Можно. Но зачем они мастеров вызвали, непойму...
Тут всё понятно. Если вызывают мастеров, значит сами ничего не понимают. Но мы, молодые люди понимаем намного больше них
сегодня у меня случилась смешная ситуация, я подумал, что мой комп ошалел хДД
когда я понял в чём дело - поржал)) и решил написать прогу, чтобы пост-----ся над кем-нибудь.
но сначала получилось не совсем удачно... пакость сделать удалось, но немного не таким способом, каким я ожидал... со второго раза я написал прогу, которая в большой степени удовлетворяет моему первому замыслу.
итак... кидаю 2 ехешника.
запустите первый, комп может начать лагать. ваша задача - вырубить эту прогу не перезагружая комп. у меня с первого раза не получилось)).
запустите второй - ваша задача определить что написано в исходнике по симптомам)). хотя по сути в исходниках обоих файлов написано одно и то же).
зы. проги абсолютно никакого вреда не наносят. ничего не удаляют и никуда не залезают можете быть уверены) исходники потом). кстати в исходниках всего пара строчек написано).
Они что, все время посылают enter в системный поток сигналов? О_о Кроме того, они вроде бы управляют позиционированием курсора, хотя это может быть взаимосвязано.
Кстати, жнецовый метод борьбы с первой прогой - чуток подождал, у меня система сняла приоритет с этого процесса и я в обычном режиме его закрыл. Остальные копии не имеют возможности воздействовать на ОС, только первая запущенная.
Цитата(IwanS @ 11.6.2011, 10:02)
Они что, все время посылают enter в системный поток сигналов? О_о Кроме того, они вроде бы управляют позиционированием курсора, хотя это может быть взаимосвязано.
Кстати, жнецовый метод борьбы с первой прогой - чуток подождал, у меня система сняла приоритет с этого процесса и я в обычном режиме его закрыл. Остальные копии не имеют возможности воздействовать на ОС, только первая запущенная.
всё правильно
насчёт курсора я никакого кода не писал, он видимо сам от тормозов двигаться не хочет.
исходник 1 проги:
показать офф-топ
public MainForm()
{
InitializeComponent();
while (true)
SendKeys.SendWait
("{ENTER}");
}
2:
показать офф-топ
public MainForm()
{
InitializeComponent();
timer1.Start();
}
void Timer1Tick(object sender, EventArgs e)
{
SendKeys.SendWait("{ENTER}");
}
короче у меня случилось следующее - я захотел пропинговать qip.ru, ввёл в командной строке ping qip.ru и нажал Enter, ну там показался пинг и потом много раз начала появляться запись:
C:\Documetns and Settings\Admin>
C:\Documetns and Settings\Admin>
C:\Documetns and Settings\Admin>
C:\Documetns and Settings\Admin>
...
я сразу не допёр в чём дело и тупо закрыл командную строку.
потом открыл пуск и начали запускаться рандомные программки, нажал на папку, она открылась 4 раза)), опять нажал пуск - меня выбросило из системы, и там можно было выбрать - выключить комп, либо войти в систему, я вхожу, но он опять творит нечто)), я опять нажимаю пуск, чтобы выключить (почему-то только потом догадался нажать Alt+F4), опять выкинуло из системы, там я нажал выключить, но он перешёл в ждущий режим)).. когда включил - опять появилось окно выхода из системы, я вошёл и опять сами собой начали открываться программки. я уже начал думать - не подшутил ли надо мной кто?)) или может вирус))... потом короче смотрю на клавиатуру, а там Enter запал))) хДД вот я чуть со стула не упал от смеха)))
Блекхенд из эрайв
11.6.2011, 12:01
Цитата(~IL~ @ 11.6.2011, 1:45)
сегодня у меня случилась смешная ситуация, я подумал, что мой комп ошалел хДД
когда я понял в чём дело - поржал)) и решил написать прогу, чтобы пост-----ся над кем-нибудь.
но сначала получилось не совсем удачно... пакость сделать удалось, но немного не таким способом, каким я ожидал... со второго раза я написал прогу, которая в большой степени удовлетворяет моему первому замыслу.
итак... кидаю 2 ехешника.
запустите первый, комп может начать лагать. ваша задача - вырубить эту прогу не перезагружая комп. у меня с первого раза не получилось)).
запустите второй - ваша задача определить что написано в исходнике по симптомам)). хотя по сути в исходниках обоих файлов написано одно и то же).
зы. проги абсолютно никакого вреда не наносят. ничего не удаляют и никуда не залезают можете быть уверены) исходники потом). кстати в исходниках всего пара строчек написано).
ОГА)) Щас займусь этим добровольным гемороем)))
Сделаем проще! Откройте тоталкомандером диск С: и удалите или измените файл ntldr - есле у вас виндоус хр)) что при этом произойдёт пишите! очень интригующе
Dukat863
11.6.2011, 13:01
Цитата(IwanS @ 11.6.2011, 10:02)
Кстати, жнецовый метод борьбы с первой прогой - чуток подождал, у меня система сняла приоритет с этого процесса и я в обычном режиме его закрыл. Остальные копии не имеют возможности воздействовать на ОС, только первая запущенная.
Я нажал Win+L, и после этого программа перестала работать. Я её закрыл диспетчером задач.
У меня запустился только один экземпляр, так-как я файл прямо из архива в тотал коммандере запускал (там открывается окошко с информацией о файле и 3 кнопки: закрыть окно (по умолчанию), распаковать только этот файл и запустить, распаковать все файлы и запустить выбранный файл (потом открывается ещё окошко, при закрытии которого удаляются временные файлы))
Diamond00744
21.6.2011, 0:54
Всем хай)
http://www.cncseries.ru/modules.php?name=N...le&sid=1412Оцените пожалуйста с т.з. этой темы
показать офф-топ
Исходники в свободном доступе - друг программиста (по крайней мере начинающего)
Цитата(Diamond00744 @ 21.6.2011, 0:54)
показать офф-топ
Исходники в свободном доступе - друг программиста (по крайней мере начинающего)
показать офф-топ
Исходники для программиста, это как тибериум для скринов - приманка.
недавно написал прогу, которая считает MD5 введённого текста.
может кому пригодится)
~IL~, всмысле вручную, что ли? Или с помощью штатной функции?
Цитата(IwanS @ 30.11.2011, 20:16)
~IL~, всмысле вручную, что ли? Или с помощью штатной функции?
делать мне чтоли нечего?)) вручную писать)
просто мне понадобилась такая прога, а онлайн считать неохота). ну естественно там использована стандартная функция.
Dukat863
16.3.2012, 15:32
Код
void блаблабла(string message)
{
char* msg = new char;
strcpy(msg, message.c_str());
//Любая строчка, которая принимает char*
delete msg;
}
Особенно доставляет, когда этот код используется для вывода отладочного сообщения, во время поиска проблемы вылета (которая происходит именно из-за этого кода).
А всё начиналось с загрузки файла...
Любая функция, требующая для работы char*, byte[] и прочее извращение - ересь! Если функция предполагает работу с текстом, то пусть она принимает string!
Цитата(IwanS @ 16.3.2012, 15:52)
Любая функция, требующая для работы char*, byte[] и прочее извращение - ересь! Если функция предполагает работу с текстом, то пусть она принимает string!
Не факт, понимаеш в чем дело, string не единственній тип для работы со строками - из чуть более чем дофига, как ты планируеш достигать унификации? Тут на помощ и приходят char/wchar_t массивы.
Пишу на С/С++/asm X86 (для души), objective C (на работе), ненавижу этот язык.
[url]
http://www.rapidshare.ru/2796534 [/url] вот игра пазман написанная мною для конкурса XPN - 2011 (сорци в комплекте), если кому интересно выложу и работу для 2012 года (после прошествия конкурса лутше), обе работы стали достойными чтобы меня пригласили в финал.
Psionic, string - не единственный, но самый православный тип для работы со строками. Точно так же как int, double, bool и т.п.
Пишу на C#, Java, PHP и боюсь char* как огня.
P.S: забавная игра, мне понравилась )
Dukat863
20.3.2012, 21:49
string это класс, содержащий тот-же самый char*, функции с понятными названиями, и переопределёнными операторами + и [].
Чтобы к примеру дописать к одному char* другой, приходится пользоваться функцией кактамеёзовут(). У string вызываются функция +.
Если бы функции для работы с char* были нормально названы...
[/капитан]
Цитата
Пишу на C#, Java, PHP и боюсь char* как огня.
Ну чтож, раз боишся значит плохо знаеш
. Попробуем разьснить свойства char для случая С++, и так
char это тип занимающий один байт и для безнакового случая способный следовательно хранить в себе число от 0..255, но в частных случаях некоторые числа трактуются как символы, чтоб понять, даю пример:
Код
#include <iostream>
int main()
{
char T=0;//именно 0 а не '0'(символ нуля)
do
{
std::cout<<T<<" "<<(int)T<<std::endl;
T++;
}
while(T)
return 0;
}
Для хранения строк в этом типе используют массивы (char[]), конец строки заканчивается нулем (именно арифметическим, а не символом 0, смотреть понятие нультерминированая строка), char * (то что ты назвал), это указатель на первый элемент массива, конец строки это ноль.
Можеш написать код где будет:
Код
char text[]="some text";
char *pText=&text[0];//можеш поиграть с индексом, увидеш что будет, также можеш случайному елементу text присвоить NULL, тоже поймеш что к чему
printf("text %s", pText);
Все не так сложно как кажется, хотя в реальных проектах всеже исплользуют классы-строки, так как они содержат уже доступные методы-манипуляции и что немаловажно их можно переопределить под нужды конкретного проекта.
Вы меня за идиота держите или думаете, что проучившись 4 года по специальности инженер-программист - я этого не знаю?
Я всего лишь сказал, что не люблю все эти извращения с не-string-овыми типами строк и прав по той причине, что названа выше - неудобно с ними работать.
Psionic, если ты внимательно посмотришь мое сообщение (желательно дважды), ты поймешь, что я программирую на C#, Java и PHP. Причем, C# основной. Если ты хоть раз работал на этом языке, ты должен знать, что строки тут можно хранить либо как string, либо как byte[]. Я не виноват в том, что в плюсах все сделано через одно место, однако плюсы - это не весь мир и КОЕ-ГДЕ с текстовыми типами данных все в порядке. Выводы можете сделать сами...
P.S: пардон за пост, но прежде чем учить других, убедитесь, что вашей квалификации на это хватает и вы действительно понимаете, о чем идет речь.
Цитата(IwanS @ 21.3.2012, 7:55)
Вы меня за идиота держите или думаете, что проучившись 4 года по специальности инженер-программист - я этого не знаю?
IwanSДа не кипятись ты так, я не хотел тебя задеть
, просто с определенных пор я часто замечаю что люди теряют из виду или не догадываются о смысле довольно простых вещей, после того как мне на работе пришлось обьяснять пару такого колегам.
показать офф-топ
Цитата(Psionic @ 22.3.2012, 2:14)
после того как мне на работе пришлось обьяснять пару такого колегам.
Мне на работе приходилось учить как пользоваться салфетками для протирания мониторов.
На второй день я обнаружил банку с салфетками на кухонном столе (похоже подумали, что это влажные салфетки для рук).
GraYaSDF
22.3.2012, 16:02
Цитата(IwanS @ 20.3.2012, 20:38)
Пишу на C#, Java, PHP и боюсь char* как огня.
Да, но все зависит от задачи, особенно если движок какой-либо кодишь на сплюсе (не на шарпе), то попадаешь не раз в прямую зависимость от char, и как бы не хотелось применить string, но потом придется переводить в этот char... бррр, мерзость
А движок я не брошу, потому что он хороший.
Кстати, во флешке 2.0 тоже нет char.
Православный флеш
никто не знает как работает аудиокодек lame enc dl?
| Модератор: Ссылка удалена |
BlessYou
27.5.2012, 22:19
Помогите, пожалуйста, решить одну проблему. Суть этой программы в том, что движениями буквы О на экране управляет сам пользователь, а буква Х двигается сама. Проблема в том, что Х без О никак не двигается - только синхронно. Как сделать так, чтобы Х не ждала О и двигалась сама?
Язык - С++, консольное приложение.
BlessYou, подсказка: либо таймер, либо многопоточность.
показать офф-топ
Сори за флуд, но наверное глупо будет спрашивать, умеет ли кто-нибудь взламывать почтовые ящики
BlessYou
27.5.2012, 22:55
Цитата(IwanS @ 27.5.2012, 22:28)
BlessYou, подсказка: либо таймер, либо многопоточность.
Многопоточность уже советовали - я не в курсе, что это и как это, и прочитать вроде негде.
Вот с таймером самое интересное: для него использую функцию kbhit в библиотеке conio. Но kbhit слишком деревянный, двинуть О с ним - невозможно. Никак. Сколько по клаве не бей.
Iluhan, см. старый-старый демотиватор "Хочешь читать чужие смс? Забери телефон."
BlessYou, ну я тебе могу только на c# написать, в с++ я не особо...
Dukat863
28.5.2012, 15:39
Цитата(BlessYou @ 27.5.2012, 23:19)
Помогите, пожалуйста, решить одну проблему. Суть этой программы в том, что движениями буквы О на экране управляет сам пользователь, а буква Х двигается сама. Проблема в том, что Х без О никак не двигается - только синхронно. Как сделать так, чтобы Х не ждала О и двигалась сама?
Язык - С++, консольное приложение.
Сейчас гляну.
EDIT: Вот ужас, писать { на одной строчке между if, else, for и комментариями это особый мазохизм, разбавленный полным отсутствием отступов.
Может так и компактнее, но ничего разобрать в этой каше невозможно. Пришлось исправлять сначала стиль, чтобы начать искать ошибку.
Для координат уже придумали обозначения X, Y, и Z. Зачем использовать A для горизонтали и B для вертикали?
Кстати, для чего по вашему нужна переменная aoc?
EDIT: Кажись разобрал. У тебя есть код
Код
int cx1=rand()%2;
, и есть
Код
if(cx1==0) //если сх==0, то Х двигается влево
Так вот, будет ли менять координаты или нет, зависит от того, что вернул
Код
int cx1=rand()%2;
. И ещё:
Код
int aoc=getch(); //контроль буквы О
int c=kbhit(); //?!
Вполне возможно, что программа ожидает ввода, поэтому и не двигается буква X.
P.S. Программу не запускал.
показать офф-топ
Интересно, сколько мозгов я сломал отдельно стоящей запятой, и отдельно стоящей точкой...
BlessYou
28.5.2012, 17:37
Dukat, "вполне возможно, что программа ожидает ввода" - так она и ожидает его. А надо, чтобы не ждала. Кроме того, Х двигается ВСЕГДА. Переменные cx1 и т.д. влияют только на направление.
Dukat863
28.5.2012, 17:41
Тогда нужно будет найти другую функцию ввода, чтобы программа работала между нажатиями.
Как вариант использовать SDL, хотя я не знаю как он будет работать с консольным приложением.
HaRuSpex
25.8.2012, 18:41
Незнаю как получше написать функцию по получению определенной цифры из числа.
Допустим у нас есть такая переменная
long int N=987654321;
и нам нужно найти 7ую позицию числа;
Можно найти вручную. Тоесть если 7позиция то делим на 1000000 и получаем остаток от деления на 10. В результате остается цифра 7
Но вдруг это будет 20ти значное число и для каждой позиции писать код как-то по "ламерски".
Написать такую функцию труда не составит но скорее всего у меня получится "грязный" код c объявлением десятка новых переменных и циклов. Хотелось бы узнать как бы вы автоматизировали этот процесс?
//програмирую на visual C++.
Цитата
Незнаю как получше написать функцию по получению определенной цифры из числа.
Допустим у нас есть такая переменная
Ну простейший способ скновертить число в строку _itoa (гугли), а дальше по индексу... также можно поизвращатся с порядками, но это на любителя..
HaRuSpex
25.8.2012, 21:16
Цитата(Psionic @ 25.8.2012, 22:05)
Ну простейший способ скновертить число в строку _itoa (гугли), а дальше по индексу... также можно поизвращатся с порядками, но это на любителя..
Нужно получить (int) цифру из (long int) числа. itoa возвращает адрес на строку.
UPD: все разобрался спс
Dukat863
25.8.2012, 21:25
Код
#include <math.h>
int getPos(int number, int position)
{
return ( int(number / ( pow(10, position) )) % 10 );
}
Примерно вот так. Если нужно число длиннее (скажем, 64 битный int), то придётся повозиться.
Цитата(Psionic @ 25.8.2012, 22:05)
Ну простейший способ скновертить число в строку _itoa (гугли), а дальше по индексу... также можно поизвращатся с порядками, но это на любителя..
Вот так?
Код
#include <cstdio>
//long long number = 876543210987654321;
int getPos(long long number, int position)
{
char word[32]; //32 хватит всем
sprintf(word, "%lld",number);
return word[position-1];
}
Правда порядок тут слева направо, но потом исправим.
HaRuSpex
25.8.2012, 21:39
Цитата(Dukat863 @ 25.8.2012, 22:25)
int getPos(int number, int position)
{
return ( int(number / ( pow(10, position) )) % 10 );
}[/code]
Всего лишь одна строчка...
... гениально
показать офф-топ
А я так надеялся что лучшего решения чем у меня не найдётся
Код
int getPosition(long int number,int position)
{
for (int i=1;i<position;i++)
{
number=number/10;
}
number=number%10;
return number;
}
Цитата(Dukat863 @ 25.8.2012, 21:25)
Код
#include <math.h>
#include <cstdio>
//long long number = 876543210987654321;
int getPos(long long number, int position)
{
char word[32]; //32 хватит всем
sprintf(word, "%lld",number);
return word[position-1];
}
Правда порядок тут слева направо, но потом исправим.
Ну примерно...б хотя в последней строчке не помешалобы написать (int)(word[position-1]-'0');
HaRuSpex
22.4.2013, 16:42
Задача.
В ряд записаны числа от 2 до 11 в некотором порядке
А)В любом ли случае можно вычеркнуть числа так что останется только 3 числа в порядке возрастания/убывания.
Б) 4 числа в порядке возрастания/убывания.
В)5 чисел в порядке возрастания/убывания.
Пример.
2.3.4.5.6.7.8.9.10.11
2.3.4.5.6.7.8.9.10.11 такое решение не проходит тк 2.10.11 расположены в порядке возрастания.
Эта задача по математике из ЕГЭ. Я не смог найти закономерность в расположение чисел и захотел перебрать все возможные комбинации с помощью с++. Незнаю как лучше реализовать. что бы перебрать все комбинации а их 10! И в каждой из комбинаций по разному можно вычеркивать числа. в итоге получится где то 60 млн комбинаций.
Как лучше перебрать все мозможные комбинации чисел от 2 до 11, в массиве из 10 элементов?
Я себе представляю 10 вложеных циклов и при каждом изменение значения одного из элементов массива проверять можно ли вычеркнуть так что бы не осталось чисел в порядке возрастания убывания. Но производительность такой программы оставляет желать лучшего.
HaRuSpex, не понял задачи. Вычеркивать можно только прилегающие друг у другу числа или как хочешь? Возрастающие\убывающие - это только 3, 4, 5? 3, 4, 7 уже не подходят?
HaRuSpex
22.4.2013, 19:35
убывающие это как 8 7 6 так и 11 6 2. Возрастающие так же
вычеркивать можно любые числа.
Алгебраическая задача это доказать обратное условию задачи. Тоесть найти такую комбинацию цифр от 2х до 11 что бы если оставить 3/4/5 чисел они НЕ были расположены в порядке возрастания/убывания.
А если программировать то нужно перебрать 10!*10*9*8 =2 612 736 000 комбинаций (ну это абсолютно все варианты )
HaRuSpex, тогда я не понял, почему в твоем примере решение не подходит.
Вообще, задача интересна только для пяти чисел. Три и четыре всегда можно найти. Ну и строгое математическое доказательство было бы интересно увидеть.
В задаче сказано "Всегда ли можно найти..". Это означает что надо найти такую комбинацию цифр при которой любые 3/4/5 чисел не будут возрастать/убывать. И получается что задача интересна только для 3х чисел а 4 и 5 легче найти. Ну да ладно.. Если найти математическое решение напишу сюда
Lustmord
23.4.2013, 12:57
Типа такое:
6 7 2 10 5 9 4 11 3 8
7 6 8 5 9 4 10 3 11 2
2 11 3 10 4 9 5 8 6 7
11 2 10 3 9 4 8 5 7 6
?
HaRuSpex
23.4.2013, 14:12
Цитата(Lustmord @ 23.4.2013, 13:57)
Типа такое:
6 7 2 10 5 9 4 11 3 8
7 6 8 5 9 4 10 3 11 2
2 11 3 10 4 9 5 8 6 7
11 2 10 3 9 4 8 5 7 6
?
Вроде как первое подходит. Нет 5 убывающих возрастающих чисел, но есть 4 возрастающих
6 7 2 10 5 9 4 11 3 8
6 7
2 10
5 9 4 11
3 8Второе не подходит
7 6 8 5 9 4 10 3 11 2
7
6 8
5 9
4 10
3 11
2третья
2 11 3 10 4 9 5 8 6 7
тут аж 6 подрят 2 3 4 5 6 7
четвертая
11 2 10 3 9 4 8 5 7 6
тут 2 3 4 5 7
Вообщем первая последовательность подходит. Поздравляю! Ты получил 1 балл (из 4х) за задание С6
Lustmord
23.4.2013, 14:32
Не правильно понял задачу...
HaRuSpex
23.4.2013, 17:51
Цитата(IwanS @ 22.4.2013, 23:35)
HaRuSpex, тогда я не понял, почему в твоем примере решение не подходит.
Вообще, задача интересна только для пяти чисел. Три и четыре всегда можно найти. Ну и строгое математическое доказательство было бы интересно увидеть.
Вот вообщем нашел саму задачу и решение к ней
http://webmath.exponenta.ru/mege/do/c6/18.html
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.