Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2013, 22:18   #11
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Код не работает.... хотя переделан на C++ согласно логике исходной программы..
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 05.06.2013, 22:34   #12
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

В общем, мне надоело
Свой вариант:
Код:
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <algorithm>
#include <iomanip>

using namespace std;

int
main()
{
    setlocale(LC_ALL, "Russian");
    const int R = 20;
    const int N = 10; // N < R
    int x[R], y[R], z[N];
    srand(time(NULL));
    for (int i = 0; i < R; ++i)
        x[i] = y[i] = i;
    for (int i = 0; i < N; ++i) {
        swap(x[i], x[N + rand() % (R - N)]);
        swap(y[i], y[N + rand() % (R - N)]);
    }
    cout << "массив X:" << endl;
    for (int i = 0; i < N; ++i)
        cout << setw(4) << x[i];
    cout << endl << "массив Y:" << endl;
    for (int i = 0; i < N; ++i)
        cout << setw(4) << y[i];
    cout << endl;
    sort(x, x + N);
    sort(y, y + N);
    int k = 0, i = 0, j = 0;
    while (i < N && j < N)
        if (x[i] < y[j])
            ++i;
        else {
            if (y[j] == x[i])
                z[k++] = x[i++];
            ++j;
        }
    cout << "массив Z:" << endl;
    for (int i = 0; i < k; ++i)
        cout << setw(4) << z[i];
    cout << endl;
    if (!k)
        cout << "пересечения нет" << endl;
    system("pause");
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 05.06.2013 в 22:55.
BDA вне форума Ответить с цитированием
Старый 05.06.2013, 22:38   #13
fkty
Форумчанин
 
Регистрация: 22.05.2013
Сообщений: 245
По умолчанию

спасибо,ваш код без повторений элементов в массиве и с расстановкой элементов по неубыванию?

Последний раз редактировалось fkty; 05.06.2013 в 22:49.
fkty вне форума Ответить с цитированием
Старый 05.06.2013, 22:52   #14
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Пожалуйста.
Без повторений точно.
Расстановка по неубыванию в массиве Z получается сама собой, так как я сортирую массивы X и Y перед поиском пересечения.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц