Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1729 • Страница 84 из 87<  1 ... 81  82  83  84  85  86  87  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 31.05.2010
Откуда: Минск
Industrialice void* aArg1

_________________
Идущий осилит дорогу



Партнер
 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
zanac писал(а):
void* aArg1


void *aArg1;
iArg1 = *(int*)aArg1;

Это можно было бы переписать

void *aArg1;
int *p = (int *)aArg1;
iArg1 = *p;


 

Member
Статус: Не в сети
Регистрация: 31.05.2010
Откуда: Минск
Delin ,Industrialice, теперь понял : *(int *)aArg1 это С-style cast. На хабре о нем статья как раз нашлась. Всем спасибо.

_________________
Идущий осилит дорогу


 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
zanac писал(а):
*(int *)aArg1 это С-style cast

В не меньшей мере и C++ - style cast, static_cast и reinterpret_cast в таких случаях - весьма уродливое извращение


 

Member
Статус: Не в сети
Регистрация: 15.02.2009
Откуда: Лангепас
Industrialice писал(а):
таких случаях - весьма уродливое извращение

Я таким извращением на С++ под MS-DOS обработчик прерывания делал - там ещё Borland`овский "interrupt" был...


 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
oxy писал(а):
Я таким извращением на С++ под MS-DOS обработчик прерывания делал - там ещё Borland`овский "interrupt" был...

Я не думаю что если бы вы использовали C style cast что-то при этом потеряли. По клавиатуре меньше стучать бы пришлось и материться


 

Member
Статус: Не в сети
Регистрация: 17.10.2005
Откуда: Киров-ННовгород
Industrialice
плюсовые касты более очевидны, нежели сишный, и искать их по коду проще.


 

Member
Статус: Не в сети
Регистрация: 07.10.2012
Нужна программа для решения любых нелинейных уравнений методом хорд. В общем дело не в методе, пользователь который запустил программу должен иметь возможность ввести ЛЮБОЕ нелинейное уравнение, программа же должна его понять и соответственно решить.
Помогите, не знаю как подобное реализовать.
Пишу на Visual C++ 2010 Express


 

Junior
Статус: Не в сети
Регистрация: 22.04.2013
SMC512 писал(а):
Нужна программа для решения любых нелинейных уравнений методом хорд. В общем дело не в методе, пользователь который запустил программу должен иметь возможность ввести ЛЮБОЕ нелинейное уравнение, программа же должна его понять и соответственно решить.
Помогите, не знаю как подобное реализовать.
Пишу на Visual C++ 2010 Express

любое уравнение решается методом сношения с преподавателем :friends:
в самых запущенных случаях нужно предъявить комиссии(если сношение с ней уже на этапе проверки работы) видимость, слышимость, понимаемость некоторых трудозатрат :lol:
p.s. если субъект будет возражать от предложенной схемы лечения проблемы, озадачьте его уравнением p=np или p!=np, что в сегоднешней науке одно и то же :-P


 

Member
Статус: Не в сети
Регистрация: 18.12.2006
SMC512 писал(а):
Нужна программа для решения любых нелинейных уравнений методом хорд. В общем дело не в методе, пользователь который запустил программу должен иметь возможность ввести ЛЮБОЕ нелинейное уравнение, программа же должна его понять и соответственно решить.Помогите, не знаю как подобное реализовать.Пишу на Visual C++ 2010 Express

Изучаешь модуль Boost:Spirit (неплохо заодно почитать книжки по написанию парсеров) - станет понятно, как программе его распознавать. А когда, месяца через три изучения, уровень знаний достигнет состояния, при котором оно заработает - вопрос с решением метод хорд уже не потребует подсказок.


 

Member
Статус: Не в сети
Регистрация: 31.05.2010
Откуда: Минск
Зачем нужна в Си данная конструкция:
typedef struct SDL_somestruct{...} SDL_somestruct;
Встретил такую в библиотеке SDL.

_________________
Идущий осилит дорогу


 

Member
Статус: Не в сети
Регистрация: 01.05.2007
Откуда: Тель-Авив
Фото: 1
zanac
чтобы потом иметь возможность написать просто:
{
int x, y, z;
SDL_somestruct *my_cool_struct;
...
}


 

Member
Статус: Не в сети
Регистрация: 31.05.2010
Откуда: Минск
Herod, т.е., чтобы не писать struct SDL_somestruct *my_cool_struct; в случае объявления struct SDL_somestruct{...};?

_________________
Идущий осилит дорогу


 

Member
Статус: Не в сети
Регистрация: 01.05.2007
Откуда: Тель-Авив
Фото: 1
zanac писал(а):
Herod, т.е., чтобы не писать struct SDL_somestruct *my_cool_struct; в случае объявления struct SDL_somestruct{...};?

Ну да. Я сам так очень любил делать, когда под Винду писал.
А политика Линукс кернела такие штуки запрещает (ИМХО, чисто религиозно)
По идее, разницы никакой.


 

Member
Статус: Не в сети
Регистрация: 31.05.2010
Откуда: Минск
Herod, понял, спасибо.

_________________
Идущий осилит дорогу


 

Member
Статус: Не в сети
Регистрация: 31.05.2010
Откуда: Минск
Как убрать из области видимости препроцессора директиву libc
Код:
#define remove(x)       unlink(x)
? Вариант
Код:
#ifdef __SYMBIAN32__
#undef remove(x) // Warning : extra tokens at end of #undef directive
#endif

не работает. Получаю 'class ...' has no member named 'remove' . А этот вариант не работает(сыплются ошибки macro `remove' used without args) :
Код:
#ifdef __SYMBIAN32__
#undef _SYS_UNISTD_H
#endif


Добавлено спустя 2 часа 29 минут 52 секунды:
В базовом классе объявлена чистая виртуальная функция remove, переопределённая в потомках. Почему-то препроцессор их определяет как производную директивы remove(x). Если этот дефайн закоментировать - всё компилируется и работает.

_________________
Идущий осилит дорогу


 

Member
Статус: Не в сети
Регистрация: 27.12.2011
Откуда: Краснодар
Мужики тема жива?
Пытаюсь реализовать алгоритм ФОРЕЛЬ.
Вот что пока есть. Знаю позор это все(
Нужно сделать чтобы числа вводились либо вручную либо подгружались с файла excel.

КОД
Код:
#include <iostream>
#include <math.h>

using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
double x[5]={0.5,1,1.5,10,12.5}, y[5]={1.5,0.5,1,7,9};

cout<<"          X    Y"<<endl;
for(int i=0;i<5;i++)
{
cout<<"Объект"<<i<<"  "<<x[i]<<"    "<<y[i]<<endl;
}

double maxX,maxY;
double minX=maxX=x[0], minY=maxY=y[0];
for (int i=1;i<5;i++)
{
   if (minX>x[i])//минимум х
      minX=x[i];
   if (maxX<x[i])//максимум х
      maxX=x[i];
   if (minY>y[i])//минимум y
      minY=y[i];
   if (maxY<y[i])//максимум y
      maxY=y[i];
}

double R0,R1,k;
cout<<"Введите множитель(от 0 до 1) k=";
cin>>k;
R0=pow((maxX-minX)*(maxX-minX)+(maxY-minY)*(maxY-minY),0.5)/2;//общий радиус
R1=R0*k;//радиус группы вместо 0.3 можно использовать переменную k запрет ввода чисел больше 1 и отрицательных
cout<<"Нахождение общего радиуса R0"<<endl;
cout<<"R0="<<R0<<endl;
cout<<"Радиуса для классов R1=R0*k"<<endl;
cout<<"R1="<<R1<<endl;
cout<<endl;
cout<<"Нахождене длины L от Объект2 ("<<x[1]<<":"<<y[1]<<") обозначим номер точки Ti";
//Рандомный выбор точки из массива
double d[5];
for (int i=0;i<5;i++)
{
d[i]=abs(pow((x[1]-x[i])*(x[1]-x[i])+(y[1]-y[i])*(y[1]-y[i]),0.5));
}
cout<<endl;


for(int i=0;i<5;i++)
{
cout<<"L(Т"<<i<<")="<<d[i]<<endl;
}
cout<<endl;


int x1[5];
for(int i=0;i<5;i++)
{
if (R1>=d[i]) x1[i]=1,cout<<"Класс1: "<<x[i]<<" : "<<y[i]<<endl;
else if (R1<=d[i]) x1[i]=0;
}



cout<<"Находим центр тяжести для найденного класса:"<<endl;
//Среднее арифметическое X и Y и получем координаты центра тяжести
int z;
z=0;
for(int i=0;i<5;i++)
{
   z+=x1[i];
}
double Cx=0,Cy=0;
for(int i=0;i<5;i++)
{
Cx+=x[i]*x1[i];
Cy+=y[i]*x1[i];
}
Cx=Cx/z;
Cy=Cy/z;
cout<<"Центр тяжести(координаты)= "<<Cx<<":"<<Cy<<endl;
double d1[4];
d1[0]=abs(pow((Cx-x[0])*(Cx-x[0])+(Cy-y[0])*(Cy-y[0]),0.5));
d1[1]=abs(pow((Cx-x[2])*(Cx-x[2])+(Cy-y[2])*(Cy-y[2]),0.5));
d1[2]=abs(pow((Cx-x[3])*(Cx-x[3])+(Cy-y[3])*(Cy-y[3]),0.5));
d1[3]=abs(pow((Cx-x[4])*(Cx-x[4])+(Cy-y[4])*(Cy-y[4]),0.5));
cout<<endl;
system("pause");
return 0;
}

НАшел кусок кода реализации на делфи но мне это не помогло.
Код делфи
Код:
procedure TForm1.Button4Click(Sender: TObject);
     var i,j,d,n,m,f,l: integer;
         r: array of array of real;
         s,e,min, max: real;
         tk,p: array [1..10] of real;
     begin
       n:= StrToInt(Edit1.Text);
       m:= StrToInt(Edit2.Text);
       e:= StrToFloat(Edit3.Text);
       SetLength(r,n);
       for i:=0 to n-1 do
       SetLength(r[i],m);
       for i:=0 to n-1 do begin
       for j:=0 to m-1 do begin
       r[i][j]:= StrToFloat(StringGrid3.Cells[j+1,i+1]);
       end;end;
       min:=500;
       for i:=0 to n-1 do begin
         max:=-100;
           for j:=0 to m-1 do begin
             if(r[i][j] > max) then max:=r[i][j];
           end;
         if(max < min) then min:=max;
       end;
       s:=min-e;
       for i:= 0 to n-1 do tk[i]:=0;
       f:=1;
       repeat
         max:=-1;
         for i:=0 to n-1 do begin
           p[i]:=0;
           for j:=0 to m-1 do begin
             if (r[i,j] < s) and(tk[j]=0) and(tk[i]=0)then p[i]:=p[i]+1;
           end;
           if (p[i]> max) then begin
             max:=p[i];
             l:=i;
           end;
         end;
         tk[l]:=f;
         for i:=0 to n-1 do if (r[l][i]<s) then tk[i]:=f;
         f:=f+1;
         d:=0;
         for i:=0 to n-1 do if (tk[i]=0) then d:=1;
       until  d=0;
       for i:=0 to f-1 do begin
         Memo1.Lines.Add('в таксон с центром '+IntToStr(i)+' вошли:');
           for j:=0 to n-1 do begin
             if (tk[j]=i) then Memo1.Lines.Add(FloatToStr(tk[j]));;
           end;
       end;
     end;

Во еще одно описание алгоритма.

Шаг 1. Построить гиперсферу радиуса охватывающую все множество точек:

Шаг 2. Установить радиус гиперсферы и перенести центр сферы в любую из внутренних точек (расстояние до которых меньше радиуса):

Шаг 3. Вычислить новый центр тяжести и перенести в него центр сферы:

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

Шаг 5. Вычислить новый центр тяжести и перенести в него центр сферы. Новый центр тяжести , поэтому внутренние точки текущей сферы объединяются в таксон:

Шаг 6. Точки принадлежащие новому таксону исключаются из анализа и работа алгоритма повторяется с шага №1. И так до тех пор пока все точки не будут исключены из анализа:

Где копать?


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 17.05.2008
visual studio 2013 подскажите ?только начал изучать ,чего за ошибка ?
#77

$a = '12345';
$a[$a[1]] = '2';
echo $a;
ответ выведет 12245 ?

_________________
13.3" (1366x768), 4096, 500 SSHD, Intel Core i3-4030U, Intel HD Graphics, Win8.1,


 

Member
Статус: Не в сети
Регистрация: 01.05.2007
Откуда: Тель-Авив
Фото: 1
dims276
Ну, для начала,
Код:
#include <iostream.h>


а не то, что в проекте написано


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 17.05.2008
парни подскажите пожалуйста.Какие из прототипов синтаксически правельны в с++ ?
a) void foo(int x,int y=5 ,int); правильный?
b)void foo(int,int,int,int y=5);правильный?
c)void foo(int x;int y=5 );;
d)void foo(int x,y=5 );
e)void foo(int x,int y= x);
И еще .. Как можно предотвратить потерю данных в memcache
a)установить максимальное время жизни при добавлении новой записи
b)установить время жизни 0 при добавлении новой записи
c)при чтении тут же ее перезаписывать,тем самым обновляя ее время жизни
d)нет правильного ответ

$a = '12345';
$a[$a[1]] = '2';
echo $a;
ответ выведет 12245 ?


Парни помогите.

_________________
13.3" (1366x768), 4096, 500 SSHD, Intel Core i3-4030U, Intel HD Graphics, Win8.1,


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1729 • Страница 84 из 87<  1 ... 81  82  83  84  85  86  87  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  



Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan