[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. BastardFromHell

    Joined:
    5 Feb 2010
    Messages:
    50
    Likes Received:
    18
    Reputations:
    6
    а где? Мне тож интересно
     
  2. Lihosvet

    Lihosvet Member

    Joined:
    3 Dec 2009
    Messages:
    35
    Likes Received:
    5
    Reputations:
    0
    Скажите пожалуйстакак сделать программу которая открывает сайт, заполняет поля, и нажимает на кнопку :)
     
  3. Dark_Scorpicore

    Joined:
    4 Apr 2009
    Messages:
    53
    Likes Received:
    8
    Reputations:
    0
    Мне кажется, Вы чуть-чуть ошиблись топиком :) Разработка, описанная таким образом, близка к какому-нибудь autoit или autohotkey.

    А вообще, сначала нужно отловить пакетики, которые шлются при нажатии на кнопку, потом курлом или сокетами отправлять запросы эти с нужными параметрами.
     
  4. zeppe1in

    zeppe1in Elder - Старейшина

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    очищаем буфер
    что круче?)

    char buf[128];
    char s = 0;

    memset(buf,0,128);
    или
    strncpy(buf,&s,128);
     
  5. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    лол, какбэ второй вариант не работоспособен))
     
  6. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    memset опитимизированна и заполняет память блоками размером с битность системы(по крайней мере на 32 битной юзается копирование по 32 бита за шаг)

    749EB37F rep stos dword ptr es:[edi]

    strcpy копирует по одному байту.
     
  7. transserg

    transserg Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    привет всем =) кто какую библиотеку с регулярками для С++ юзает? PCRE, Boost?
    и если можно пример использования..
    Среда VS2008
     
    #4847 transserg, 26 Feb 2010
    Last edited: 26 Feb 2010
  8. zeppe1in

    zeppe1in Elder - Старейшина

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    Hiro Protagonist
    работает, попробуй.
    Ra$cal
    ок спасибо.

    просто в одной вражеской программе (как я понял) используется именно strncpy для заполнения нулями.
    я подумал может так модно или чо).
    а может RtlZeroMemory круче всех?)

    и ещо вопрос.
    вот пишет Крис
    если я собираю программу в VS08, указываю точку входа, то что я теряю? я не смогу юзать некоторые функции?
     
  9. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    2zeppe1in
    >> Если длина строки src меньше len, то буфер добивается до len нулями.
    да, про такое поведение strncpy я забыл ))

    Какбэ рантайм обеспечивает некоторые механизмы, без которых не обойтись если хочешь использовать libc (поддержку потоков, глобальные переменные, вызов конструктуров-десктрукторов, ну и тд)
    для полного избавление от crt надо ещё отключать линк mscrt.lib (NODEFAULTLIB).
    Крис там немного не точен. Все таки если не выдирать заголовочные файлы и либы из ddk, то ntdll работать несколько неудобно, хотя в случае натива выбора немного ). часть libc продублировано с системных длл kernel32.dll (lstrcpy, lstrcat ...), advapi32.dll (wsprintf ...), shlwapi.dll (StrStr, MemoryCopy, ...) и тд, те все базовые функции, которые в основном нужны по работе со строками и тд.
     
    #4849 Hiro Protagonist, 27 Feb 2010
    Last edited: 27 Feb 2010
  10. Fl0dER

    Fl0dER New Member

    Joined:
    22 Dec 2008
    Messages:
    81
    Likes Received:
    3
    Reputations:
    0
    Люди добрые есть маленький вопрос , есть ли у функции wsprintf какие нибудь ограничение , немогу форматировать строку когда один из поинтеров большого размера... Если есть ограничение как в данном случае быть ?
     
    #4850 Fl0dER, 27 Feb 2010
    Last edited: 27 Feb 2010
  11. KILL

    KILL New Member

    Joined:
    1 Jan 2006
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    hi2all people, народ подскажите в С++ буилдер в редакторе кода на руском можно писать ? а то вири потрепали ПО а перебивать жалко..., 4 года назад помнится писал вот тока непомню толи в delphi то ли С++ буилдер, пишу там [ авыф (норм пишется) ] а [ олдж ( ои№ж) ], настройки уже досканально изучил бестолку
     
  12. qwert135

    qwert135 New Member

    Joined:
    22 Nov 2009
    Messages:
    53
    Likes Received:
    0
    Reputations:
    0
    Всем привет.Народ,что означает ошибка "Redeclaration of std::ifstream in" и как с ней бороться.Я открыл один файл для чтения,считал все что нужно,закрыл его.Стал открывать второй и выскочила эта ошибка.Спасибо за помощь.
     
  13. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Код в студию, пожалуйста.
     
  14. Mochnatiy

    Mochnatiy New Member

    Joined:
    19 Nov 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Нету. Скорее всего в коде ошибка. Код в студию
     
  15. Mochnatiy

    Mochnatiy New Member

    Joined:
    19 Nov 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Ну и я сам столкнулся с задачей:

    Как можно программно определить наличие/конфигурацию прокси сервера, фаервола в сети, а также конфигурацию самой сети (с доменами или без)?

    Спасибо.
     
  16. qwert135

    qwert135 New Member

    Joined:
    22 Nov 2009
    Messages:
    53
    Likes Received:
    0
    Reputations:
    0
    Вот код: #include <iostream.h>
    #include <math.h>
    #include <stdio.h>
    #include <fstream.h>

    //приведение коэффициентов матрицы А, лежащих на главной диагонали
    //к ненулевым,если приведение успешно функция возвращает значение true
    int Diagonal(double **A, double *B, int column, int NumberOfEquation) {
    int result = 0;
    int i, row = column;
    double replace;

    if(column == NumberOfEquation - 1) {
    result = A[column][column] != 0;
    }
    else {
    while(!result && row < NumberOfEquation) {
    if(A[row][column] != 0) {
    if(row != column) {
    for(i=0;i < NumberOfEquation;i++) {
    replace = A[column];
    A[column] = A[row];
    A[row] = replace;
    }
    replace = B[column];
    B[column] = B[row];
    B[row] = replace;
    }
    result = Diagonal(A, B, column + 1, NumberOfEquation);
    if(result) {
    break;
    }
     
  17. qwert135

    qwert135 New Member

    Joined:
    22 Nov 2009
    Messages:
    53
    Likes Received:
    0
    Reputations:
    0
    }
    row++;
    }
    }
    return result;
    }

    //если коэффициенты матрицы на главной диагонали не равны 0, то
    //приступаем к решению СЛАУ методом простых итераций
    int SimpleIteration(double **A, double *B, int NumberOfEquation, double *solution, double fault_input) {
    int result;
    int i, j, step = 1;
    double *TempSolution;

    TempSolution = new double[NumberOfEquation];
    result = Diagonal(A, B, 0, NumberOfEquation);
    if(result) {
    double fault = fault_input + 1;
    for(i=0;i < NumberOfEquation;i++) {
    for(j=0;j < NumberOfEquation;j++) {
    if(i != j) {
    A[j] = -A[j] / A;
    }
    }
    B = B / A;
    A = 0;
    }
    //первое приближенное значение вектора неизвестных
    for(i=0;i < NumberOfEquation;i++) {
    solution = B;
    }
    //пока не найдется решение с заданной точностью или не исчерпается лимит шагов
    while(fault > fault_input && step <= 1000) {
     
  18. qwert135

    qwert135 New Member

    Joined:
    22 Nov 2009
    Messages:
    53
    Likes Received:
    0
    Reputations:
    0
    for(j=0;j < NumberOfEquation;j++) {
    TempSolution[j] = 0;
    }
    for(i=0;i < NumberOfEquation;i++) {
    for(j=0;j < NumberOfEquation;j++) {
    TempSolution = TempSolution + A[j]*solution[j];
    }
    TempSolution = TempSolution + B;
    }
    //расчет погрешности
    fault = 0.0;
    for(j=0;j < NumberOfEquation;j++) {
    fault = fault + (solution[j] - TempSolution[j])*(solution[j] - TempSolution[j]);
    }
    fault = sqrt(fault);
    //сохранение последующих приближенных значений неизвестных
    for(j=0;j < NumberOfEquation;j++) {
    solution[j] = TempSolution[j];
    }
    step++;
    }
    }
    return step;
    }

    void DOS_input_output() {
    int i, j;
    int size;
    double **A, *B, *solution, fault_input;

    cout << "Решение СЛАУ методом простых итераций.\n";
    cout << "Введите размерность матрицы: ";
    cin >> size;
    A = new double*[size];
     
  19. qwert135

    qwert135 New Member

    Joined:
    22 Nov 2009
    Messages:
    53
    Likes Received:
    0
    Reputations:
    0
    for(i=0;i < size;i++) {
    A = new double[size];
    }
    B = new double[size];
    solution = new double[size];
    for(i=0;i < size;i++) {
    cout << "Введите " << i + 1 << " строку матрицы А: ";
    for(j=0;j < size;j++) {
    cin >> A[j];
    }
    }
    cout << "Введите вектор В: ";
    for(j=0;j < size;j++) {
    cin >> B[j];
    }
    cout << "Введите точность вычислений: ";
    cin >> fault_input;
    int steps = SimpleIteration(A, B, size, solution, fault_input);
    if(steps > 1000) {
    cout << "Слишком большое количество итераций.";
    }
    else {
    cout << "Решение системы:\n";
    for(j=0;j < size;j++) {
    cout << solution[j] << "\n";
    }
    cout << "Количество итераций: " << steps;
    }
    delete []A;
    delete []A;
    delete []B;
    delete []solution;
    }

    int main() {
    DOS_input_output();
    getchar();
    return 0;
    }
     
  20. emillord

    emillord Elder - Старейшина

    Joined:
    20 Jan 2008
    Messages:
    257
    Likes Received:
    444
    Reputations:
    255
    qwert135Извини конечно,но нельзя всё затолкнуть под тег code??
    Code:
    Вот так наверно удобнее будет
     
    1 person likes this.
Thread Status:
Not open for further replies.