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

исправить ошибки в коде - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как высчитывать значения sin , cos, tg, ctg в с++? http://www.cyberforum.ru/cpp-beginners/thread701273.html
Помогите пожалуйста ) и ещё , возможно ли высчитать эти значения используя числа с плав. точкой ? Например , найти синус от 24.5? Или это невозможно?
C++ Как возвести числа в квадрат , куб (также в другие степени ) в с++? помогите пожалуйста ) http://www.cyberforum.ru/cpp-beginners/thread701271.html
C++ Ввести фамилию, имя и отчество как одно данное типа строка. Заменить на инициалы
Ввести фамилию, имя и отчество как одно данное типа строка. Заменить на инициалы Ввести фамилию, имя и отчество как одно данное типа строка. Определить длину строки и количество букв «а» в нем. Выполнить задачи своего двумя способами: - Рассматривая строку как массив символов. - Применяя к строке функции и процедуры.
Фиксированный размер буфера для приема сообщения на клиенте (UDP) C++
Программа условная (лабораторная работа с использованием библиотеки boost). Клиент вводит размерность матрицы m x n. Сервер заполняет эту матрицу значениями и умножает саму на себя, после чего результат отправляет клиенту... Проблема в том, что фиксированный размер буфера для приема сообщения меня не устраивает: boost::array<char, 128> recv_buf; udp::endpoint sender_endpoint; int...
C++ указатель на массив http://www.cyberforum.ru/cpp-beginners/thread701261.html
помогите пожалуйста, я не могу правильно задать массив в функции main. #include <iostream> #include <fstream> using namespace std; const int N=30; int god (int *p) { int kol=2;
C++ Определить площадь круга и длину окружности, ограничивающей круг Описать переменную "круг", в которой содержатся все данные для построения круга на плоскости в декартовой системе координат.Определить площадь круга и длину окружности,ограничивающей круг. подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.11.2012, 00:08
Цитата Сообщение от лыс Посмотреть сообщение
Подскажите, как можно написать программу без бинарного поиска.
бинарный поиск хорошо, но в данном случае и первый массив упорядочен по возрастанию, поэтому вот этот способ считаю одним из самых оптимальных для этой задачи:
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
#include <iostream>
using namespace std;
int main()
{
    int n, k, l, i, a=0, b=0, c=0, chislo=0;
    cin >> n;
    int *man=new int [n];
    for (i=0; i<=n-1; i++)
        cin >> man[i];
    cin >> k;
    int *mak=new int [k];
    for (i=0; i<=k-1; i++)
        cin >> mak[i];
    cin >> l;
    int *mal=new int [l];
    for (i=0; i<=l-1; i++)
        cin >> mal[i]; 
    while(a<n && b<k && c<l)
    {
        while(b<k && mak[b]<man[a])
            b++;
        while(c<l && mal[c]<man[a])
            c++;
        if(b<k && mak[b]==man[a] && c<l && mal[c]==man[a])
            chislo++;
        a++;
    }
    cout << chislo << endl;
 
    return 0;
}
так сказать одновременное движение вперед по всем трем массивам.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru