[ 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. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Ещё раз советую Б. Страуструпа )))
     
  2. cupper

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

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    пытаюсь сделать алгоритм бинарного поиска, но такой чтобы при входе:
    A - массив, p - индекс первого элемента, r - индекс последнего элемента, число x,
    На выходе получить не позицию элемента равного х, а позицию элемента q удовлетворяющего условию A[q-1] < x <= A[q].

    Ну и собсно путаюсь, и не как немогу ничего вразумительного сделать.
    Ps. именно по принцыпу бинарного поиска.
     
  3. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Да мне не лень компилить,пока прост нету возможности компилить.
     
  4. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Исходник в студию )
     
  5. Ra$cal

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

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    Тогда ты долго будешь учить с++. Обычный алгоритм таков - читаешь главу, делаешь программу согласно главе, дебажишь до понимания. Потом начинаешь менять этот исходник чтобы понять вариации изменения кода и поведения. И так тестишь пока есть вопросы. Потом берешь и читаешь следующую главу.
    Я сам не так давно таким образом с Qt возился. Книжка без практики, так же как и практика без книжки - пустая трата времени.
     
  6. cupper

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

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    какие исходники, я даже алгоритм не могу продумать. Я сосбно и просил помочь именно с составлением алгоритма
     
  7. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Не очень понятно причем тут бинарный поиск. Массив из случайных чисел или упорядоченный?
     
  8. cupper

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

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    ну бинарный поиск работает только при упорядоченном массиве, после прогулки на улице, написал вот это
    Code:
    int bin_find_mm(int *, int, int ,int, int);
    /*
    * Рекурсивная функция поиска позиции q, такой что
    * A[q-1] < x < A[q]
    * возвращает q
    */
    
    int main(){
    	int mas[7]={1,4,6,7,10,16,23};
    	cout<<bin_find_mm(mas, 0, 6, 24, 7)<<endl;
    }
    
    int bin_find_mm(int *A, int p, int r, int x, int minq){
    	int temp = minq;
    	if (p <= r){
    		int q = (p+r)/2;
    		if (x < A[q])
    			temp = bin_find_mm(A, p, q-1, x, q);
    		else if (x > A[q])
    			temp = bin_find_mm(A, q+1, r, x, minq);
    		else
    			return q;
    	}
    	if (temp < minq)
    		return temp;
    	else
    		return minq;
    	
    }
    
    проверил несколько раз, на листочке посчитал ручками, вроде работает. Может можно лучше сделать ?
     
  9. cupper

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

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    И еще, как время в милисекундах получать, чтобы можно было засекать время работы функций
    делаю так
    Code:
    int timeBeg = time(NULL);
    ....
    int totalTime = time(NULL) - timeBeg;
    cout<<"total time to sort = "<<totalTime<<endl;
    
    но секунда величина очень большая %)

    PS. кодю в лине, WinAPI нету.
    PPS. проблема решена
    Code:
    #include <ctime>
    ...
    clock_t t0 = clock();
    //что-нить делаем
    clock_t t1 = clock();
    cout << "time: " << (double)(t1 - t0) / CLOCKS_PER_SEC << endl;
    
     
    #4629 cupper, 10 Jan 2010
    Last edited: 10 Jan 2010
  10. rudvil

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

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Я этим пользуюсь.
     
  11. Double2

    Double2 Banned

    Joined:
    9 Jan 2010
    Messages:
    20
    Likes Received:
    0
    Reputations:
    0
    А как сделать так, чтобы при решении какого-нибудь уравнения(типа x-5+y+2=52-36) все числа с переменными(x и y например) оставались слева, а все остальные перемещались за знак равно вправо и при этом меняли знак с + на - и наоборот? К примеру чтобы из x-5+y+2=52-36 получилось x+y=52-36+5
     
    #4631 Double2, 11 Jan 2010
    Last edited: 11 Jan 2010
  12. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Как принять ответ с помощью winsock (TCP), хочу чтобы у меня вместо квадратиков были русские буквы в принятом ответе!
    (речь идет о C++)
     
    #4632 wolmer, 11 Jan 2010
    Last edited: 11 Jan 2010
  13. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Либо с сервера отправлять русские буквы вместо квадратиков, либо дебажить и смотреть куда смотря указатели, если речь идёт о С++.
     
  14. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Как узнать за сколько выполнилась та или иная функция в C++?
     
  15. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Глазки наверх подними ага
     
  16. Double2

    Double2 Banned

    Joined:
    9 Jan 2010
    Messages:
    20
    Likes Received:
    0
    Reputations:
    0
    Вопщем. Как сделать так, чтобы числа перемещались влево, а x и у и их коэффициенты оставались слева, но числа при перемещении меняли знак?
     
  17. Ra$cal

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

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    для начала написать парсер
     
  18. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Для начала нужно забыть о школьных методах решения уравнений.
     
  19. Ann$

    Ann$ New Member

    Joined:
    13 Jan 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Помогите пожалуста на писать задачку на Си

    Моделирование обхода препятствия роботом.
     
  20. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Пиши свои наработки, мы доскажем
     
Thread Status:
Not open for further replies.