Вопросы по программированию

Автор Богдан, 03 Листопад 2007, 11:41:18

Попередня тема - Наступна тема

No_name

Цитата: edd_k від 04 Липень 2008, 11:16:20
Сам по себе C знаешь?
нет :( только Pascal, поэтому и написал "желательно чтоб от простого к сложному с подробным объяснением что к чему"

Edd.Dragon

Цитата: No_name від 04 Липень 2008, 11:27:17
нет :( только Pascal, поэтому и написал "желательно чтоб от простого к сложному с подробным объяснением что к чему"
Можно сразу с c++ начать. Но лучше перед этой прочесть какой-нибудь учебник по С. Только вникать в сам язык, его синтаксис, те же логические операции хорошо проштудировать, но не сильно вникать в предлагаемые техники программирования, т.к. они могут помешать последующему объектно-ориентированному мышлению. Что именно - уж и не помню, что попроще, но хорошо описывает именно язык и его основы.

Ну а потом предложенную мной книгу.

βεερ_βooρ

Цитата: edd_k від 04 Липень 2008, 11:16:20
Сам по себе C знаешь?
Тогда http://www.ozon.ru/context/detail/id/85559/
Страуструпа новичку? Не издевайся, процент гениев среди программистов не отличается от среднестатистического  :)
Тем более, что просили:
Цитатажелательно чтоб от простого к сложному с подробным объяснением что к чему
А вообще есть такая штука как "Карта раздела: где задать свой вопрос"
И там в разделе программирование дан линк на тему: Подскажите хорошую книгу по программированию на C++. Не бояним.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Богдан

Гхм, не знаю, в яку тему написати. Напишу сюди.

Інсталлер SMF на денвері видає помилку

ЦитатаPlease inform your host that the session.save_path specified in php.ini is not valid! It needs to be changed to a directory that exists, and is writable by the user PHP is running under.

в php.ini session.save_path = /tmp
Папка tmp відкрита для всіх і я не розумію, що СМФу не подобається. Що робити?

немой

Цитата: Богдан від 30 Липень 2008, 14:09:36
Гхм, не знаю, в яку тему написати. Напишу сюди.

Інсталлер SMF на денвері видає помилку

в php.ini session.save_path = /tmp
Папка tmp відкрита для всіх і я не розумію, що СМФу не подобається. Що робити?
http://www.simplemachines.ru/index.php/topic,1085.0.html

1 есть ли альтернатива связке php+mysql?
2 какую русскоязычную литературу по python посоветуете? с программированием знаком весьма поверхностно, так что желательно чтоб было от и до.

Bismark


немой

Цитата: Bismark від 01 Серпень 2008, 23:47:35
Perl+PostgreSQL :)
а если без БД? не удобно то, что нет прямого доступа на хостинге.

βεερ_βooρ

Цитата: немой від 02 Серпень 2008, 01:43:29
а если без БД? не удобно то, что нет прямого доступа на хостинге.
Ну можно в файлике хранить данные, но это тупо и несекьюрно.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

немой

выбрав python вместо php для связи с mysql и создания веб приложений я не ошибся?

snegoviK

Есть Plone, который написан непосредственно на Python. У этой системы есть даже свой веб-сервер. Хотя можно настроить и так, чтобы она использовала любой другой (Apache, например). Для бд можно использовать тоже любую систему. Хоть Oracle.

Ivan_32

using NET 2.0 - 3.5;// :)
Прелюдия:
Думаю все знают о возможности генерировать обработчик события на лету. Пример:

OnPaint+=new EventHandler(delegate{/*event handling code*/});

Так вот я задумался о примерно таком коде:

int a=delegate{};

Думаю говорить о том что этот код не компилируется не нужно...
Так вот меня интересует не сталкивался ли кто либо с таким решением ?
PS: Сразу говорю перегрузка свойств не прокатит так как в целевом приложении только один класс и он там исключительно из декоративных целей ( ну не компилируется NET программы без неймспейса и базового класса что поделать...:))   
Чем больше я узнаю, тем больше чувствую себя дураком...

Edd.Dragon

#211
Цитата: Ivan_32 від 17 Серпень 2008, 01:34:34
int a=delegate{};
Этим ты по сути сказал, объявляю функцию, которая возвращает int, а потом результат ее действия записываем в a )))))

Т.е. в чем смысл такой записи и чем он будет отличаться от:


int f()
{
  return 5;
}

..........

int a = f();



Или чего ты хочешь добиться такой записью?


Ivan_32

#212
OnClick+=new EventHandler(delegate{});

OnClick+=new EventHandler(a+=b;c+=a;);

Первая компилируется в любой версии компилятора а вторая кажется только в старых. Вторая в моем SharpDevelop 3.0 Beta не компилируется а вот первая очень даже, вопрос только в том что бы найти конструкцию которая была бы пригодна для присвоения переменной...
Чем больше я узнаю, тем больше чувствую себя дураком...

Edd.Dragon

Цитата: Ivan_32 від 19 Серпень 2008, 09:17:01
Первая компилируется в любой версии компилятора а вторая кажется только в старых. Вторая в моем SharpDevelop 3.0 Beta не компилируется а вот первая очень даже, вопрос только в том что бы найти конструкцию которая была бы пригодна для присвоения переменной...
Я все-таки в упор не пойму что надо?


public class Sample
{
    private static void SomeEventHandler(object sender, MyEventArgs e)
    {
        a += b;
        c += a;
    }
    ................................

    public static void Main()
    {
        SomeClass someClass = new SomeClass();

        someClass.SomeEvent += new EventHandler<MyEventArgs>(SomeEventHandler);
    }
}

http://msdn.microsoft.com/en-us/library/db0etb8x.aspx

Ivan_32

В первом примере в аргументы передается указатель на функцию(ну или ссылка , как кому нравится) если мы можем вот так вот передать функцию то почему нельзя ее будет передать при инициализации переменной ?(то что способы передачи разные , на мой взгляд значения не имеет, для некторых конструкций в С++ было и побольше противоречий для существования) вопрос в том что бы найти правильную запись всего этого тоесть таже строчка :
int a={return 5;};
совершенно естественно не компилируется... Но я думаю что есть в языке правильная ее запись.
Чем больше я узнаю, тем больше чувствую себя дураком...

Edd.Dragon

Цитата: Ivan_32 від 19 Серпень 2008, 17:01:56
В первом примере в аргументы передается указатель на функцию(ну или ссылка , как кому нравится) если мы можем вот так вот передать функцию то почему нельзя ее будет передать при инициализации переменной ?(то что способы передачи разные , на мой взгляд значения не имеет, для некторых конструкций в С++ было и побольше противоречий для существования) вопрос в том что бы найти правильную запись всего этого тоесть таже строчка :
int a={return 5;};
совершенно естественно не компилируется... Но я думаю что есть в языке правильная ее запись.
Так а зачем такая запись то?! Первая (работающая) запись нужна затем, чтобы не плодить массу однострочных функций, в случае когда хендлер тривиален. В результате ты пишешь код прямо на месте и он будет видимо вставляться явно. В случае несколькострочного хендлера разумно объявлять отдельную функцию и ее присваивать обработчику.

А вторая запись лишена смысла. Ты хочешь определить функцию (запись в {}) прямо посреди другой функции. Что мешает определить ее рядом, дав ей имя (т.е. как обычно) или вообще не определять, а написать нужные тебе строки безо всяких {} и ретурнов?

В чем прикол на примере?

string a = {string s = GetSomeString(); return s + s.Length.ToString(); }


Чем это круче\прикольнее\полезнее нижеприведенных вариантов:

string Func()
{
   string s = GetSomeString();
   return s + s.Length.ToString();
}

{
   string a = func();
}
___________________________________________

{
   string s = GetSomeString();
   string a = s + s.Length.ToString();
}


Я не смог придумать примера, когда запись a = {} сможет быть чем-то полезна...
Если при описании хендлеров не хочется объявлять лишнюю короткую функцию, то во втором случае ее объявлять нет необходимости - ты пишешь нужные строки тут же рядом, только без {}, а return заменяешь на то самое "int a ="

В итоге, непосредственное объявление функции посреди другой функции это почти то же самое, что просто кусок кода выделить в {} - безсмысленно.

dojik

Со скриптами тоже сюда? Тогда у меня такой вопрос: интернет через телефон, при подключении нужно просто набрать
pon mts #или имя другого подключения
Телефон у меня находится по адресу /dev/ttyACM0, т.е. если команда ls /dev/ttyACM0 выполнится, то можно исплнять команду подключения. Вот здесь у меня проблема:

#!/bin/bash
ls /dev/ttyACM0
if
#вот здесь должно стоять, условие, с которым у меня проблема
then pon mts
else echo '!!!No sush device!!!'
fi


Помогите, кто может.

βεερ_βooρ

Цитата: dojik від 24 Серпень 2008, 12:31:56
Телефон у меня находится по адресу /dev/ttyACM0, т.е. если команда ls /dev/ttyACM0 выполнится, то можно исплнять команду подключения. Вот здесь у меня проблема:

#!/bin/sh
if [ -e  /dev/ttyACM0]
then
#file exists
pon mts
else
echo "Error"
fi
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Edd.Dragon

Цитата: Ivan_32 від 19 Серпень 2008, 17:01:56
вопрос в том что бы найти правильную запись всего этого тоесть таже строчка :
int a={return 5;};
совершенно естественно не компилируется... Но я думаю что есть в языке правильная ее запись.
Сегодня вспомнил о разговоре и заглянул в хелп по delegate. Максимум, что получится, это


// объявление типа ссылки на функцию
delegate int TDelegate();

class MainClass
{
    static void Main()
    {
        TDelegate func = delegate  { return 5 };

        int a = func();
    }
}


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

Ivan_32

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

Богдан

f3c - кружок, який рухається
p = stage.stageHeight * 0.75 (пікселі від початку ліній до кінця екрану)

Вибачайте, що percent не в процентах )


if (f3c.visible) {
var percent = (f3c.y - stage.stageHeight*0.20)/p;
trace("\n  "+percent*100+"%");
f3c.width += percent<50?percent/2:percent/10;
f3c.height += percent<50?percent/2:percent/8;
f3c.y += Math.floor((p/5)/30);
}


Щось не так з рухом цієї точки. Хто все-таки захоче розібратися в коді - підкажіть. Як зробити нормальний рух?

Писав навмання не враховуючи ніяких формул і т.д.
Флешка

Edd.Dragon

Цитата: Ivan_32 від 29 Серпень 2008, 23:03:55
Эта запись к сожаленью непригодна изза того что темлпейт делегата пишется вне класса...
Напиши его в классе, это ж только пример ))

dojik

Можно немного оффтопный вопрос? Иван, вы работаете или учитесь?

Ivan_32

Очень заинтересовал язык Java, хотелось бы услышать общее впечатление о нем от тех кто на нем писал.
Хотелось так же узнать какие есть авторитетные пособия по этому языку а также IDE. Заранее благодарен.
PS: Не работаю но учусь сам и состою в институте как студент(сказать учусь немогу так как не очень то я и хороший студент...)
Чем больше я узнаю, тем больше чувствую себя дураком...

βεερ_βooρ

Цитата: Ivan_32 від 01 Вересень 2008, 23:15:49
Очень заинтересовал язык Java, хотелось бы услышать общее впечатление о нем от тех кто на нем писал.
http://www.dpk.com.ua/forums/index.php?topic=527.msg57703#msg57703
И далие по дискусии между мной и snegoviK

Цитата: Ivan_32 від 01 Вересень 2008, 23:15:49
а также IDE. Заранее благодарен.
Говорят что Eclipse неплох. Тут хорошой рекомендации дать не могу.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Edd.Dragon

У нас под яву тоже Эклипсом пользуются

Nikolai

А Eclipse чуть ли не стандартное IDE под Java насколько я знаю.

Сам - юзал немного, удобно, ничего особенного. Насколько помню.
If you do what you have always done, you'll get what you have always got

Ivan_32

Имеется следующий код:
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
DWORD PID=4156;
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,false,PID);
char*libname="mylib.dll";
int nBytes=sizeof(libname);
PSTR plibn=(PSTR)VirtualAllocEx(hProcess,0,nBytes,MEM_COMMIT,PAGE_READWRITE);
    PTHREAD_START_ROUTINE lpr=(PTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("kernel32.dll"),"LoadLibraryA");
WriteProcessMemory(hProcess,plibn,(LPVOID)libname,nBytes,0);
CreateRemoteThread(hProcess,0,0,lpr,plibn,0,0);
return 0;
}

В mylib.dll содержится вызов MessageBoxA. Проблема в том что ,инжект происходит(об это говорит антивирус) но MessageBox не выскакивает...
Чем больше я узнаю, тем больше чувствую себя дураком...

Edd.Dragon

ЦитатаВ mylib.dll содержится вызов MessageBoxA.
Если я еще не все забыл, то данная прога должна сделать следующее:

- подключиться к процессу к заранее известным PID = 4156;
- выделить в этом процессе память и запихнуть туда строку "mylib.dll";
- выполнить в этом процессе в отдельном треде функцию LoadLibraryA("mylib.dll").

Все.
Запуска какой-либо функции из этой библиотеки вроде как не вижу...

Ivan_32

mylib это динамическая библиотека. Она сама себя запускает при подключении, я проверял на нескольких своих программах  - она работает корректно и всегда запускается.
Там в DLLMain только строчка с вызовом MessageBox-а.
Чем больше я узнаю, тем больше чувствую себя дураком...

Edd.Dragon

#230
Удалил предыдущие два своих сообщения. Т.к. таки не поленился запустить два приложения и из второго пописат в первое. И тоже получилось. Каспер возмутился "хитропопые атакуют!", я нажал "пропустить" и в первом окне появились заветные строки.

Запускаю одно и то же приложение, которое теперь, если не передан в командной строке pid, выводит свой pid и ждет. А вторую копию запускаю с этим pid в качестве параметра и она пишет в первом окне. Так что, трассируй прогу либо же выводи результаты всех вызываемых функций. Возможно просто твой тред не создается, ведь антивирь ругается еще при попытке писать в память стороннего процесса. Если же таки тред создается успешно, тогда попробуй сначала на консольном варианте как я.

#include <stdio.h>
#include <Windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
    DWORD pid = GetCurrentProcessId();

    if(argc == 1)
    {
        printf("My PID is %d\n", pid);
    }
    else
    {
        pid = _wtoi(argv[1]);
        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, pid);

        char libName[] = "testlib.dll";
        int libNameSize = sizeof(libName);
        PSTR libNamePtr = (PSTR)VirtualAllocEx(hProcess, 0, libNameSize, MEM_COMMIT, PAGE_READWRITE);
        WriteProcessMemory(hProcess, libNamePtr, (LPVOID)libName, libNameSize, 0);

        PTHREAD_START_ROUTINE func = (PTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA");
        CreateRemoteThread(hProcess, 0, 0, func, libNamePtr, 0, 0);
    }

    printf("Please press <enter>...\n");
    scanf("c");
    return 0;
}


Ivan_32

edd_k, огромное вам спасибо. Это смешно но ошибка заключалась в том что char* libname - это динамический массив, а вот char libname[] как раз статический. Вобщем в аргументы LoadLibrary попадало неизвестно что:D )
Чем больше я узнаю, тем больше чувствую себя дураком...

Edd.Dragon

ЦитатаВобщем в аргументы LoadLibrary попадало неизвестно что:D )
Хм, значит тебе не повезло, что ссылка попадала на доступную процессу память )))

В предыдущей версии сообщенияя, которую я заменил как раз было упоминание о том, что char* я заменил на char[], т.к. под char* нужно сначала память выделять.

Ivan_32

"Проблему я решил , теперь буду думать зачем"  :)
Поигрался немного с инъектором, но теперь встал вопрос более серьёзный. А что можно делать из такой DLL с процессом ?
Мне бы очень не помешала книжечка по написанию вирусов подобного типа. Меня интересуют именно манипуляции над процессом. Кстати как можно снять дамп памяти ? Найти переменную ? Все эти вопросы все еще открыты... Заранее благодарен.
PS: У Рихтера по данной тематике ничего нет... по крайней мере я не нашел.
Чем больше я узнаю, тем больше чувствую себя дураком...

βεερ_βooρ

Цитата: Ivan_32 від 08 Жовтень 2008, 07:50:51
"Проблему я решил , теперь буду думать зачем"  :)
Поигрался немного с инъектором, но теперь встал вопрос более серьёзный. А что можно делать из такой DLL с процессом ?
Мне бы очень не помешала книжечка по написанию вирусов подобного типа. Меня интересуют именно манипуляции над процессом. Кстати как можно снять дамп памяти ? Найти переменную ? Все эти вопросы все еще открыты... Заранее благодарен.
PS: У Рихтера по данной тематике ничего нет... по крайней мере я не нашел.

Тебе прямая дорога на wasm.ru
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Богдан

Містика.
РНР. Хочу зберегти кукі. Але апач матюкається, що заголовки вже  відправлені. Перед <?php нічого немає, зовсім. Не розумію, де могли хедери відправились.

Alternativshik

Цитата: Богдан від 08 Жовтень 2008, 21:08:13
Містика.
РНР. Хочу зберегти кукі. Але апач матюкається, що заголовки вже  відправлені. Перед <?php нічого немає, зовсім. Не розумію, де могли хедери відправились.
Ну хоть код покажи, а то книгу по гаданию оставил у бабушки  :-\ Или я что-то пропустил??? На последних 2-3 страницах не заметил, ткните, если неправ, и простите  :%)

Богдан

Цитата: Alternativshik від 09 Жовтень 2008, 00:06:47
Ну хоть код покажи, а то книгу по гаданию оставил у бабушки  :-\ Или я что-то пропустил??? На последних 2-3 страницах не заметил, ткните, если неправ, и простите  :%)


Щось таке (набирав з телефона, може є помилки):


<?php setcookie("gc_login"$_POST['login']); ?>
<html>
...

Все те, що я сказав у попередньому повідомленні. Помилка - "заголовки вже відправлені", пробіла перед <?php немає.
Поставив кешування заголовків у php.ini, але все одно хочу взнати, у чому проблема.

Олсо, не треба до мене на "Ви".

Alternativshik

0_o странно это все как-то - проверил несколько возможных вариантов, но такая ошибка так и не возникла... ;)

firefire

Вот у меня вопрос есть по пхп. Я начал его учить 2 дня назад  :). Вот код который я намутил:
<?
$nick=$_GET["nick"];
$usl=$_GET["usl"];
$res=$_GET["res"];
$link_usl=$_GET["link_usl"];
$link_res=$_GET["link_res"];

include("config.php");

$userstable = "t";//Обьявзяем о существовании таблицы "t"

MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");
@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");

MYSQL_QUERY("INSERT INTO $userstable(nick, usl, res, link_usl, link_res) VALUES($nick, $usl, $res, $link_usl, $link_res)");
echo "Информация о вас занесена в базу данных.";
$r=mysql_query("select * from t");
for ($i=0; $i<mysql_num_rows($r); $i++)
{$f=mysql_fetch_array($r);
echo"<p><b>Nick:</b>$f[nick]";
echo"<p><b>Условие:</b>$f[usl]";
echo"<p><b>Решение:</b>$f[res]";
}
?>


Проблема полагается в том, что на веб-страницу не выводится результаты, хотя пхп компилятор не нашла ошибку в моем коде. Все что внутри цикла for я не вижу у себя в окно браузера.
$r=mysql_query("select * from t");
for ($i=0; $i<mysql_num_rows($r); $i++)
{$f=mysql_fetch_array($r);
echo"<p><b>Nick:</b>$f[nick]";
echo"<p><b>Условие:</b>$f[usl]";
echo"<p><b>Решение:</b>$f[res]";
}

Я дошел до этого вывода, так как строчку echo "Информация о вас занесена в базу данных."; я вижу на экране  :).
Все делал аналогично как в самоучителе, только больше значений прибавил для СУБД.

Alternativshik

Попробуй просто явно указать какое-то число в цикле вместо mysql_num_rows($r)и посмотреть, что скажет, и еще такой вариант:

$r=mysql_query("select * from t");
$f=mysql_fetch_assoc($r);
echo"<p>Nick:$f[nick]";
echo"<p>Условие:$f[usl]";
echo"<p>Решение:$f[res]";

Garfi

Делаю лабу по ОП, застрял на особо заковыристой задаче.
Вот условие:

Вот блок моего варианта решения:
Цитата
for (int i=1; i<=n; i++)
 
  {
    res=pow((1+(1/(double(i)))),i);
  }
программка работает, но выдает неправильный результат...трабл в формуле...

Edd.Dragon

Цитатаres=pow((1+(1/(double(i)))),i);

Тут
а) три пары лишних скобок %) - ну то ладно;
б) а вообще написано (1 + 1 / i) в степени i;
в) каждый член в результат присваивается ЗАМЕНЯЯ старое значение, т.е. твой весь цикл можно заменить на одну строчку res = pow(1 + 1 / n, n) - проверь я угадал (могу и ошибиться со скобками)?

На картинке явно другое...



Garfi

Цитата: edd_k від 13 Жовтень 2008, 14:10:11
Тут
а) три пары лишних скобок %) - ну то ладно;
б) а вообще написано (1 + 1 / i) в степени i;
в) каждый член в результат присваивается ЗАМЕНЯЯ старое значение, т.е. твой весь цикл можно заменить на одну строчку res = pow(1 + 1 / n, n) - проверь я угадал (могу и ошибиться со скобками)?

На картинке явно другое...



я экспериментировал методом тыка. нормальный вариант:
Цитата
res=pow(1+1/double(i),i);

Цитата: edd_k від 13 Жовтень 2008, 14:10:11
б) а вообще написано (1 + 1 / i) в степени i;
в) каждый член в результат присваивается ЗАМЕНЯЯ старое значение, т.е. твой весь цикл можно заменить на одну строчку res = pow(1 + 1 / n, n) - проверь я угадал (могу и ошибиться со скобками)?

На картинке явно другое...



o_O не понял...там квадратная степень...
Цитата: edd_k від 13 Жовтень 2008, 14:10:11

в) каждый член в результат присваивается ЗАМЕНЯЯ старое значение, т.е. твой весь цикл можно заменить на одну строчку res = pow(1 + 1 / n, n) - проверь я угадал (могу и ошибиться со скобками)?

На картинке явно другое...



неа...не угадал... :)

Edd.Dragon

#244
Цитата: Garfi від 13 Жовтень 2008, 14:25:12
не понял...там квадратная степень
А я что говорю? На картинке квадратная, а у тебя - нет. Где у тебя в коде число 2 вообще? ))

Цитата: Garfi від 13 Жовтень 2008, 14:25:12
неа...не угадал... :)
А ты n преобразовал в double когда мое проверял?

Если ты понял, то в твоем цикле не вычесляется произведение. В твоем цикле в res по очереди записывается первый, второй, .... и в конце концов n-ый член, который там и остается. Произведения нет. Равно как и квадрата не видно.

Garfi

Цитата: edd_k від 13 Жовтень 2008, 14:31:36
Где у тебя в коде число 2 вообще? ))
зачем оно там?
Цитата
res=pow(1+1/double(i),i);

Цитата: edd_k від 13 Жовтень 2008, 14:31:36
А ты n преобразовал в double когда мое проверял?

Если ты понял, то в твоем цикле не вычесляется произведение. В твоем цикле в res по очереди записывается первый, второй, .... и в конце концов n-ый член, который там и остается. Произведения нет. Равно как и квадрата не видно.

n должен быть целочисленным. фун-ция double(); биб-ки math.h возводить число в квадрат. насчет произведения...я над этим и ломаю голову... :)

Alternativshik

А че я не вижу никакой картинки???  :'(  Че за условие хоть у задачи???

Garfi

#247
Цитата: Alternativshik
А че я не вижу никакой картинки???
o_O
(1+1/1^2)(1+1/2^2)(1+1/3^2)...(1+1/n^2)
;)

Edd.Dragon

Цитата: Garfi від 13 Жовтень 2008, 14:45:04
n должен быть целочисленным. фун-ция double(); биб-ки math.h возводить число в квадрат.
:D
1. Процитируй хелп по функции double(), приведи хотя бы кусок из math.h где она объявлена...
2. А что делает функция pow(n, i)?  :%)

Цитата: Garfi від 13 Жовтень 2008, 14:45:04
я над этим и ломаю голову... :)
Над оператором умножения? Умножение - это "*" (звездочка). a = a * k или a *= k


Garfi

Цитата: edd_k від 13 Жовтень 2008, 20:20:05
:D
1. Процитируй хелп по функции double(), приведи хотя бы кусок из math.h где она объявлена...
черт...перепутал...

Цитата: edd_k від 13 Жовтень 2008, 20:20:05
2. А что делает функция pow(n, i)?  :%)
Над оператором умножения? Умножение - это "*" (звездочка). a = a * k или a *= k
pow(число, степень)...насчет умножения знаю...