Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 975

 
BAS581:

Спасибо за помощь. Если знать, что решение есть, его легче найти. )))

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

В обычном масштабе она просто недоступна.

Меняйте браузер на стандартный!
 
Вопрос к знатокам Си - как исправить код ниже
(какое бы число я не подставлял при запуске ехе-файла, всегда получаю '2'):

#include <stdio.h>
 
int main (int k) {
    printf("number %d \n", k);
 
    return 0;
}
 
atztek:
Вопрос к знатокам Си - как исправить код ниже
(какое бы число я не подставлял при запуске ехе-файла, всегда получаю '2'):


Чтобы принять аргументы командной строки, используются два специальных встроенных аргумента: argc и argv. Параметр argc содержит количество аргументов в командной строке и является целым числом, причем он всегда не меньше 1, потому что первым аргументом считается имя программы. А параметр argv является указателем на массив указателей на строки. В этом массиве каждый элемент указывает на какой-либо аргумент командной строки. Все аргументы командной строки являются строковыми, поэтому преобразование каких бы то ни было чисел в нужный двоичный формат должно быть предусмотрено в программе при ее разработке.

PS: отсюда

 
PozitiF:

Чтобы принять аргументы командной строки, используются два специальных встроенных аргумента: argc и argv. Параметр argcсодержит количество аргументов в командной строке и является целымчислом, причем он всегда не меньше 1, потому что первым аргументомсчитается имя программы. А параметр argv является указателемна массив указателей на строки. В этом массиве каждый элемент указываетна какой-либо аргумент командной строки. Все аргументы командной строкиявляются строковыми, поэтому преобразование каких бы то ни было чисел внужный двоичный формат должно быть предусмотрено в программе при ееразработке.

PS: отсюда

Спасибо, разобрался.
Насчет названий аргументов не уверен (в смысле что могут быть и другие), но идея действительно в этом.
 

Возник такой вопрос, связанный с программированием на Си, но в данном случае общего характера.
Необходимо чтобы программа бежала скажем 500 часов, после чего ее исполнение должно прекратиться автоматически.
Как правильно осуществить проверку, чтобы как можно меньше нагружать процессор?

Насколько я поминаю понадобится цикл (while/for), внутри которого будет проверяться текущее время, которое затем будет сравниваться с временем прекращения работы. Когда оно будет достигнуто работа прекратится. Верно или я что-то упустил?

 
atztek:

Возник такой вопрос, связанный с программированием на Си, но в данном случае общего характера.
Необходимо чтобы программа бежала скажем 500 часов, после чего ее исполнение должно прекратиться автоматически.
Как правильно осуществить проверку, чтобы как можно меньше нагружать процессор?

Насколько я поминаю понадобится цикл (while/for), внутри которого будет проверяться текущее время, которое затем будет сравниваться с временем прекращения работы. Когда оно будет достигнуто работа прекратится. Верно или я что-то упустил?

В WinAPI есть таймер https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644906%28v=vs.85%29.aspx


Примеры использования.

 
PozitiF:

В WinAPI есть таймер https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644906%28v=vs.85%29.aspx


Примеры использования.

За WinAPI Спасибо! А в общем, более простом случае, то что я описал (на уровне идеи) выглядит правильным или нет?
 
Здравствуйте уважаемые!

Помогите пожалуйста перевести алгоритм нахождения координаты точки пересечения двух отрезков

Из статьи:

Все очень просто!
х1, у1 и х2,у2 - координаты вершин первого отрезка;
х3, у3 и х4,у4 - координаты вершин второго отрезка;

для нахождения пересечения составляем уравнения прямых:
первое уравнение:
(x-x1)/(x2-x1)=(y-y1)/(y2-y1);
второе уравнение
(x-x3)/(x4-x3)=(y-y3)/(y4-y3);
эти уравнения определяют прямую проходящую через две точки, то, что нам и надо.
Из этих уравнений находим х и у по следующим формулам:
x:=((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)-(y3-y4)*(x2-x1));
y:=((y3-y4)*x-(x3*y4-x4*y3))/(x4-x3);
так как наши прямые пересекаются, то у них есть общая точка пересечения с координатами (х,у), которую нам и надо найти.
для того, чтоб пересечение принадлежало нашим отрезкам, нужно его ограничить, т. е проверить условие:
если
(((x1<=x)and(x2>=x)and(x3<=x)and(x4 >=x))or((y1<=y)and(y2>=y)and(y3<=y) and(y4>=y)))
то существует точка пересечения данных отрезков, а нет – то нет и точки пересечения.
Еще следует проверить параллельность этих отрезков при помощи угловых коэффициентов:
k1:=(x2-x1)/(y2-y1);
k2:=(x4-x3)/(y4-y3);
где k1 и k2 – тангенсы угла наклона отрезков к положительному направлению оси ОХ, если k1=k2, то отрезки параллельны, а значит, не имеют точек пересечения.

Готовая функция.
Код:

POINT Point_X(POINT a1,POINT a2,POINT a3,POINT a4){
        POINT T;
        if(((a1.x<=T.x)&&(a2.x>=T.x)&&(a3.x<=T.x)&&(a4.x >=T.x))||((a1.y<=T.y)&&(a2.y>=T.y)&&(a3.y<=T.y)&&(a4.y>=T.y))){
                float x1=a1.x,x2=a2.x,x3=a3.x,x4=a4.x,y1=a1.y,y2=a2.y,y3=a3.y,y4=a4.y;
                float k1,k2;
                if(y2-y1!=0){
                        k1=(x2-x1)/(y2-y1);
                        if(y4-y3!=0){
                                k2=(x4-x3)/(y4-y3);
                                if(k1!=k2){
                                        T.x=((a1.x*a2.y-a2.x*a1.y)*(a4.x-a3.x)-(a3.x*a4.y-a4.x*a3.y)*(a2.x-a1.x))/((a1.y-a2.y)*(a4.x-a3.x)-(a3.y-a4.y)*(a2.x-a1.x));
                                        T.y=((a3.y-a4.y)*T.x-(a3.x*a4.y-a4.x*a3.y))/(a4.x-a3.x);
                                        T.x*=-1;
                                        return T;
                                }else{
                                        T.x=969; T.y=969;
                                        //text2("Паралельны");
                                }
                        }else{
                                T.x=969; T.y=969;
                                //text2("Паралельны");
                        }
                }else{
                        T.x=969; T.y=969;
                        //text2("Паралельны");
                }
        }else{
                //text2("Пересечение вне отрезка");
                T.x=979; T.y=979;
                return T;
        }

}

А, может быть, у кого-нибудь в архивах есть уже готовый?

 
optionany:

Приветствую

В MT4 есть возможность или функция) Отсылки внутренней почты терминала на e-mail или sms, (например для получения сообщения о перезагрузки сервера итд)?

Люди, что никто не в курсе? 
 
optionany:
Люди, что никто не в курсе? 
А документацию почитать мама не разрешает??? Например SendMail