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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка одномерного массива бинарной вставкой http://www.cyberforum.ru/cpp-beginners/thread201274.html
#include <iostream.h> #include <math.h> main() { const int size=10; int mas={1,34,6,5,23,454,7657,8768,43}; int temp=0; int left=0,right=0,sred=0;
C++ Expected unqualified id before '{' token Я полный нуб в программировании, только начал что-то пытаться сделать. добрался до циклов. попытался изобразить движение мячика и компилятор выдал ошибку expected unqualified id before '{' token... http://www.cyberforum.ru/cpp-beginners/thread201262.html
Массивы... C++
Створити два масиви на N елементів, розмір першого визначити неявно (шляхом ініціалізації певною кількістю елементів). Реалізувати функцію копіювання елементів першого масиву до другого у...
C++ Массивы, количество элементов
Всем привет! Ребята подскажите пожалуйста как узнать количество элементов записанных в массив. Ну например: int mas; mas=1; mas=2; mas=3; и мне надо присвоить, например переменной d количество...
C++ Перемещение файлов http://www.cyberforum.ru/cpp-beginners/thread201229.html
Кто-нибудь, помогите с задачей. Очень прошу. Или подскажите, как можно с ней разобраться. Суть задачи: После того, как произошло разбиение основного файла на 8 частей(файлов) с расширением...
C++ Структуры - разбор упражнения Прошу помочь с решением задачки и если не сложно объясните пожалуйста как вы то сделали. Есть 3 задачи (1 и 2 - я решил) - не могу решить 3, т.к непонимаю как это сделать. Задача1: Создайте... подробнее

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

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