Форум программистов, компьютерный форум CyberForum.ru

Принадлежность точки отрезку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Деление по модулю http://www.cyberforum.ru/cpp-beginners/thread1163735.html
Здравствуйте. Пишу функцию деления по модулю: int ring(int num, int max) { return num - (max%num)*(num/max); } Для (12, 12) возвращает 12, для (24, 12) и т.д. - 0. При чем функция fmod(12, 12) возвращает 0. Мне же нужно, что бы возвращалось 12 во всех случаях. Как мне модифицировать функцию? Спасибо!
C++ Ввод/вывод элементов квадратной матрицы, вычисление индексов максимального элемента Помогите написать программу для ввода элементов квадратной матрицы, вывода этого массива на экран, вычисления индексов максимального элемента массива. http://www.cyberforum.ru/cpp-beginners/thread1163733.html
Отформатировать текст и вывести его в файл C++
Помогите пожалуйста , в текстовом файле задан текст - слова, разделенные пробелами. Текст содержит форматирующие символы «&» и «$», означающие соответственно конец абзаца и конец главы. Вывести в выходной текстовый файл данный текст, отформатировав его следующим образом. Длина каждой строки отформатированного текста не превышает k (k вводится с клавиатуры). Каждый абзац печатается с...
Из данных двоичного файла сформировать два массива C++
Создать двоичный файл, куда записать n вещественных чисел. Из компонентов исходного файла сформировать массивы положительных и отрицательных простых чисел. Вычислить количество нулевых компонентов файла. Помогите пожалуйста, у меня почему то выводит ошибку(((
C++ Удалить из строки все пробелы, расположенные перед знаком препинания http://www.cyberforum.ru/cpp-beginners/thread1163686.html
Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются. Удалить из строки все пробелы, расположенные перед знаком препинания.
C++ Если в тексте есть слова с нечетным количеством букв, то удвоить среднюю букву таких слов Если в тексте есть слова с нечетным количеством букв, то удвоить среднюю букву таких слов. С использованием указателей. подробнее

Показать сообщение отдельно
AlekseyL
0 / 0 / 0
Регистрация: 02.05.2014
Сообщений: 3
02.05.2014, 18:51  [ТС]     Принадлежность точки отрезку
Попробовал слить всё в один массив...Распределить ответ в нужном порядке не получается.
Превышение по времени.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
using namespace std;
 
int BS(int*t, int x, int l, int h){
 int middle;
 while (l <= h){
 middle = (l + h) / 2;
 if (x == t[middle])
 return middle;
 else if (x < t[middle])
 h = middle - 1;
 else
 l = middle + 1;}
 return -1;}
 
void quickSort(int l, int r, int*c, int*d){
     int x = c[l + (r - l) / 2];
     int i = l;
     int j = r;
     while(i <= j){
         while(c[i] < x) i++;
         while(c[j] > x) j--;
         if(i <= j){
             swap(c[i], c[j]);
             swap(d[i], d[j]);
             i++;
             j--;}}
     if (i<r)
                 quickSort(i, r, c, d);
     if (l<j)    
         quickSort(l, j, c, d);}    
    
int main(){
int n, m, k;
cin >> n >> m;
int a[2*n+m], b[2*n+m], s[2*n+m];
int q[2*n+m];
for (int i=0; i<2*n+m; i++){
    cin >> a[i];
    q[i]=a[i];}
for (int i=0; i<2*n; i=i+2){
    b[i]=1;
    b[i+1]=-1;} 
for (int i=2*n; i<2*n+m; i++){
    b[i]=0;}
    
quickSort(0, 2*n+m-1, a, b);
    k=0;
 
for(int i=0; i<2*n+m; i++){
    k=k+b[i];
    if(b[i]==0){
        s[i]=k;}}
        
        int z=0;
for(int i=2*n; i<2*n+m; i++){
    while(b[BS(a, q[i], 0, 2*n+m)]!=0){
        z++;}
    cout << s[BS(a, q[i], z, 2*n+m)]<<" ";
        z=0;
}
}
 
Текущее время: 09:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru