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

Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Клиент-сервер - организовать передачу файлов http://www.cyberforum.ru/cpp-beginners/thread1228491.html
Написал программу клиент - сервер и хотел бы её модернизировать, но ни хватает знаний и практики. Вот что хотелось бы добавить: 1)в примерах нашёл, что и сервера можно отправлять файлы клиентам, но там надо переключать (слушать, пронимать). Можно прописать так чтобы он слушал и отправлял файлу (автоматически) клиенту; 2)сделать таймер событий, проверять все пришедшие файлы, смотреть на дату...
C++ Разделить строку на две части дана задача.есть переменная char = россия. надо разделить её на две части так,чтобы получилось что a = рос,b=сия http://www.cyberforum.ru/cpp-beginners/thread1228489.html
C++ Вывести части строки до определенных символов
Помогите мне с задачкой. Дана строка, нужно разделить ее на несколько частей до определенных символов (или не обязательно именно так). Вот задачка, чтобы вам было понятней: In the early nineties, the World Wide Web (WWW) was invented. Nowadays, most people think that the WWW simply consists of all the pretty (or not so pretty) HTML-pages that you can read with your WWW browser. But back then,...
Какое отношение имеет перегрузка к полиморфизму? C++
прочитал в одном учебнике: (глава посвящена функциям. Подраздел: Перегрузка функций) "В результате перегрузки функций происходит явление, называемое полиморфизмом функций. Полиморфная функция - это функция, отличающаяся многообразием форм." Ну и дальше по тексту термины перегруженная функция и полиморфная функция (а также перегрузка ф-ций и полиморфизм ф-ций) используются как синонимы. в...
C++ Месса. Подсчитать общее количество рукопожатий. http://www.cyberforum.ru/cpp-beginners/thread1228454.html
Хорошей частью Римской католической мессы является обряд мира, когда люди обмениваются рукопожатием со своими соседями и говорят: "мир вам". Мирко нашел способ превратить этот ритуал в свою пользу. Внутри церкви есть R рядов скамеек, в каждом ряду может сидеть не более S человек. Мы можем представить это как матрицу R х S, где каждый элемент представляет собой либо человека или пустое место....
C++ Given a series of numbers, your task is to pick up some numbers на acm.tju.edu.cn задача 2231 Нарушение правила п 5.19 Запрещено создавать темы в виде ссылок на задания или коды программ, расположенные на других сайтах. подробнее

Показать сообщение отдельно
DarkerSigner
0 / 0 / 0
Регистрация: 17.07.2014
Сообщений: 4
17.07.2014, 17:35     Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному
Довольно громоздко, но работает
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
using namespace std;
 
int main()
{
    unsigned n=0;
    int k=0;
    cout<<"Enter N and K \n";
    cin>>n>>k;
    int massN[n];
    cout<<"Enter "<<n<<" element massN \n";
    for (int i=0;i!=n;i++)
    cin>>massN[i];
    cout<<"\n";
    int massK[k];
    cout<<"Enter "<<k<<" element massK \n";
    for (int i=0;i!=k;i++)
    cin>>massK[i];
    int temp1=0;
    int temp2=0;
    int massOut[k];
    for (int i=0;i!=k;i++)
        massOut[i]=-1;
    for (int i=0;i!=k;i++)
    {
        for(int j=0;j!=n;j++)
        {
            temp2=0;
            if (massK[i]!=massOut[i])
            if (massK[i]==massN[j])
            {
                massOut[i]=massN[j];
            }
            else
            {
                temp1=massK[i]-massN[j];
                if (temp1<0) temp1*=-1;
                if (massOut[i]!=-1)
                {
                    temp2=massK[i]-massOut[i];
                    if (temp2<0) temp2*=-1;
                    if (temp1<temp2) massOut[i]=massN[j];
                    if (temp1==temp2)
                    {
                        if (massN[j]<massOut[i]) massOut[i]=massN[i];
                    }
                }
                else    massOut[i]=massN[j];
            }
        }
    }
    for (unsigned i=0;i!=k;i++)
        cout<<massOut[i]<<" ";
    return 0;
}
P.S. ввод с клавиатуры, ввод из файла сам сделаешь, там не долго.
 
Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru