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

Есть диапазон целых чисел, в котором каждое число встречается дважды, кроме одного. Найдите его за линейное время. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сгенерировать число "1" или "2" http://www.cyberforum.ru/cpp-beginners/thread791799.html
Как сделать с помощью функции rand генерацию числа в диапазоне от 0 до 1? Просто если пишу rand() % 1 то всё время выдаёт только одно и тоже число. Как мне известно малые биты менее случайны чем старшие. Как решить проблему?
C++ Объясните кусок программы (подсчет кол-ва букв в слове) #include "stdafx.h" #include <iostream> #include <cstring> void out (int *num, char (*word), int &b) { printf ("\n"); for (int i=0; i<b; i++) printf ("%s ", word]); } void fperest(int &a, int &b ) http://www.cyberforum.ru/cpp-beginners/thread791770.html
C++ Правильно ли выполнено задание
Написать функцию, которая принимает на вход вектор строк и выводит их суммарную длину. #include <iostream> #include <vector> #include <string> size_t size_vector_string(std::vector<std::string> vector); int main()
C++ требуетсяя изменить программу так что бы она считывала значения int а не double
вродибы у меня всё получилось кроме sqrt я изменил double n на double ns и под ним написал int n = ns; и получилось что выводило только целые числа но квадратный корень всё равно выводится не так как нужно!! подскажите пожалуйста как правельно написать!! и если не трудно напишите пожалуйста ещё пару примеров!! рабочих я их поизучаю!! Спасибо большое!! #include "stdafx.h" #include...
C++ Объясните зачем нужны конструкторы http://www.cyberforum.ru/cpp-beginners/thread791695.html
Зачем нужны конструкторы? Читаю в книгах, смотрю видеоуроки и все равно не понятно
C++ Цикл: Имитация командной строки Имитация командной строки. Для чего использован в данном коде цикл For?#include "StdAfx.h" #include <windows.h> #include <iostream> #include <iomanip> #include <TCHAR.h> #include <time.h> #include <conio.h> int _tmain( int argc, TCHAR *argv ) { подробнее

Показать сообщение отдельно
KostyaKulakov
Заблокирован
21.02.2013, 19:19  [ТС]     Есть диапазон целых чисел, в котором каждое число встречается дважды, кроме одного. Найдите его за линейное время.
Цитата Сообщение от Kastaneda Посмотреть сообщение
если все числа будут парные, то на последеней итерации будет выход за пределы массива.
И зачем сортировка дважды?
хм. насчёт двойной сортировки, моя не внимательность.

насчёт выхода за приделы массива, нужно подумать.

Добавлено через 3 минуты
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <algorithm>
 
int one_numb_in_massiv(int* massiv, size_t size);
 
int main()
{
    const size_t size = 9;
    int arr[size] = {1,2,3,2,5,4,5,4,1};
 
    std::cout << one_numb_in_massiv(arr, size) << std::endl;
 
    return 0;
}
 
int one_numb_in_massiv(int* massiv, size_t size)
{
    std::sort(massiv, massiv + size);
 
    if((size % 2) == 0)
        return 0;
 
    for (int i = 0; i < size; ++i)
    {
        if(massiv[i] != massiv[i+1])
            return massiv[i];
        else
            ++i;
    }
 
    return 0;
 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru