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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
#1

айти в массиве A(2n) два числа наиболее похожих по значению - C++

01.12.2010, 15:28. Просмотров 415. Ответов 2
Метки нет (Все метки)

Задание:Из массива A(2n) получить 2 массива B(n) и С(n) в таком виде: найти в массиве A(2n) два числа наиболее похожих по значению, меньшее отправить в массив B, а большее в массив С ,работу продолжать пока все элементы уйдут,а массивы С и B будут заполнены .Используя библиотеку <iostream> .Нужно написать задание с использование функций.Заранее спасибо!
0
Вложения
Тип файла: doc С9.doc (26.0 Кб, 22 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2010, 15:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос айти в массиве A(2n) два числа наиболее похожих по значению (C++):

Найти элемент наиболее близкий к среднему арифметическому значению в массиве из 10 элементов - C++
1. Найти элемент наиболее близкий к среднему арифметическому значению в массиве из 10 элементов.

Выберите в массиве А два близких по значению элемента и разместить меньший из них в массив B... - C++
Задан массив А размером 2n. Выберите в массиве А два близких по значению элемента и разместить меньший из них в массив B (n), а больший - в...

В массиве найти два элемента среднее арифметическое которых ближе всего к заданному значению - C++
Дано действительное число х и массив A . В массиве найти два элемента, среднее арифметическое которых ближе всего к х

Массивы: Найти наиболее часто повторяющиеся числа в массиве - C++
Здравствуйте! Подскажите пожалуйста где у меня может быть ошибка. Дело в том, что вначале когда начал писать код, поставил размер массива...

Вывести те числа, которые наиболее редко встречаются в массиве и количество их повторений - C++
Дан одномерный массив из 150 случайных целых чисел в диапазоне от 14 до 37 включительно. Вывести те числа, которые наиболее редко...

Найти в массиве ближайший по значению элемент меньший заданного числа - C++
Добрый день, господа. Помогите пожалуйста с решением задачи. Дано некоторое число А. Найти в целочисленном массиве В из N элементов...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
snakext
6 / 6 / 1
Регистрация: 08.06.2010
Сообщений: 35
01.12.2010, 18:52 #2
Так у вас уже было программа почти правильно написана, разве что массивы нужно было сделать динамическими и все вычисления перенести в отдельную функцию. Вот что у меня получилось (работает)

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
56
57
58
59
#include <iostream>
using namespace std;
void differ_arrays(int *A, int *B, int *C, int n);
int main()
{
        int n;//число чисел
        int ok; 
 
do   
{
 
        cout << "Введите число n:" << endl;
        cin >> n;
        if( n < 1 )//проверка числа n которое должно быть минимум 1
        {
            cout << "Ошибка число n должно быть >= 1 !" << endl;
            return main();
        }
        int* A=new int[2*n];//A массив
        int* B=new int [n];//B массив
        int* C=new int[n];//C массив
        for (int i = 0; i<2*n; i++)
        {
            cout << "Введите " << i+1 << ". числа в массиве A" << endl;
            cin >> A[i];//заполняется А массив
 
        }
        differ_arrays(A,B,C,n);
        cout << " массив B :";
        for (int i = 0; i < n; i++) cout << B[i] << " ";// B массив
        cout << endl << " массив C :";
        for (int i = 0; i < n; i++) cout << C[i] << " ";// C массив
cout << endl <<"Продолжить (1) или завершить (0)?:";
cin >> ok;
}while(ok==1); 
    return 0;
}
void differ_arrays(int *A, int *B, int *C, int n){
    int c_value_address;
    int b_value_address;
    for (int i3 = 0; i3 < n; i3++ )
        {
            int difference = 123456789;
            for ( int i = 0; i < 2*n; i++ )
            {
                for ( int i2 = 0; i2 < 2*n; i2++ )
                    if( (A[i] - A[i2] <= difference) && (A[i] != 0) && (A[i2] !=0) && (A[i] - A[i2] >= 0) && (i != i2))
                    {
                         c_value_address = i;
                         b_value_address = i2;
                        difference = A[i] - A[i2];
                    }
            }
            B[i3] = A[b_value_address];
            C[i3] = A[c_value_address];
            A[b_value_address] = 0;
            A[c_value_address] = 0;
        }
}
1
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
01.12.2010, 20:43  [ТС] #3
Спасибо огромное вы очень помогли)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2010, 20:43
Привет! Вот еще темы с ответами:

Объединить два похожих класса - C++
Доброго времени суток. Есть два класса, полностью одинаковых в логике, различие только в том что один содержит один enum, второй другой....

Найти числа элементов в двумерном массиве, равных значению Т, вводимому с клавиатуры и перемножьте эти элементы. - C++
народ помогите решить. Найти число элементов в двумерном массиве , размером n x m, равных значению Т, вводимому с клавиатуры и...

Объединить два массива так, чтобы числа в новом массиве не повторялись - C++
я даже их объединить не могу, они разной размерности и не выходит=( вот что я писала #include &lt;QCoreApplication&gt; #include &lt;iostream&gt;...

Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому - C++
Помогите пожалуйста составить программу: Даны целые числа a1, ..., an. Удалить из последовательности первый по порядку элемент, наиболее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru