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

Двоичный поиск - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс «Здание» с данными количество этажей, подъездов и квартир http://www.cyberforum.ru/cpp-beginners/thread271648.html
1. Объявить класс по приведенному ниже заданию в соответствии с номером варианта и определить для него конструктор по умолчанию, конструктор инициализации и конструктор преобразования. 2. Определить функции-члены класса для ввода и вывода членов-данных внутри объявления класса. 3. Составить программу, которая определяет четыре объекта класса и выводит их на экран. Первый объект должен...
C++ Триугольник Треугольник ABC заданы координатами своих вершин на плоскости. Найти внутренние углы треугольника (в радианах). http://www.cyberforum.ru/cpp-beginners/thread271646.html
Функции C++
Треугольник ABC заданы координатами своих вершин на плоскости. Найти внутренние углы треугольника (в радианах).
C++ Сформировать другой массив, в который поместить сначала числа меньшие среднего арифметического значения этого массива, затем – большие.
Дан целочисленный массив, состоящий из 15 элементов. Сформировать другой массив, в который поместить сначала числа меньшие среднего арифметического значения этого массива, затем – большие.
C++ ярлык http://www.cyberforum.ru/cpp-beginners/thread271636.html
Здравствуйте господа програмисты!Возникла проблема-как програмно создать ярлык на свою программу на рабочий стол? Заранее всем огромное спасибо!!! Добавлено через 5 минут на dev c++ консольное приложение.
C++ Дано натуральное число n, действительные числа a1, ... a2n Помогите решить. Дано натуральное число n, действительные числа a1, ... a2n. Получить (a1-a2n)(a3-a2n-2)(a5-a2n-4)...(a2n-a2) подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
12.04.2011, 16:31     Двоичный поиск
Примерное решение задачи (не проверял):
C
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
#include <stdio.h>
#include <stdlib.h>
 
#define SIZE 10
 
int comparator(const void *a, const void *b) {
    return -(*(int *)a - *(int *)b);
}
 
int main() {
    int i, bsize = 0;
    int a[SIZE] = { 2, 5, 4, 1, 4, 2, 8, 7, 5, 4 };
    int b[SIZE] = { 0 };
 
    // сортировка
    qsort(a, SIZE, sizeof(int), comparator);
 
    // поиск неповторяющихся элементов
    if (a[0] != a[1])
        b[bsize++] = a[0];
    if (a[SIZE-1] != a[SIZE-2])
        b[bsize++] = a[SIZE-1];
 
    for (i = 1; i < SIZE - 1; ++i) {
        if (a[i-1] != a[i] && a[i] != a[i+1])
            b[bsize++] = a[i];
    }
 
    // вывод 
    for (i = 0; i < SIZE; ++i) 
        printf("%d ", a[i]);
 
    printf("\n");
    for (i = 0; i < bsize; ++i)
        printf("%d ", b[i]);
 
    return 0;
}
 
Текущее время: 12:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru