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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Ka3aHTuI7
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 6
#1

В массиве целых чисел найти и распечатать все пары одинаковых чисел - C++

16.03.2012, 22:34. Просмотров 1796. Ответов 7
Метки нет (Все метки)

В массиве целых чисел найти и распечатать все пары одинаковых чисел. За помощь буду очень благодарен.


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
//В массиве целых чисел найти и распечатать все пары одинаковых чисел
#include <iostream>
using namespace std;
 
const int N = 10;
 
int main()
{
    //подключение русского языка
    locale :: global(locale("rus"));
 
    int Z[N];
    int i = 0;
 
    cout << "Введите " << N << " целых чисел" << endl;
 
    for(i = 0 ; i < N ; i++)
    {
 
        cin >> Z[N];
 
    }
 
    system("pause");
    return 0;
}
А дальше не могу понять, как эти самые пары найти, чтобы они вывелись на экран.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2012, 22:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В массиве целых чисел найти и распечатать все пары одинаковых чисел (C++):

Нужно найти в массиве и распечатать пары одинаковых чисел - C++
Нужно найти в массиве и распечатать пары одинаковых чисел при помощи одномерных массивов. Пример работы программы: Ввод чисел 1 2...

В заданном массиве целых чисел найти все пары чисел, удовлетворяющих условию - C++
Дан массив целых чисел а0, ..., аn-1. Найти все пары (аi, аi+1), такие, что аi = 0 и аi+1 кратно 2.

Найти все пары двузначных чисел, которые, будучи записанными подряд, дают четырёхзначное число, нацело делящееся на сумму данных чисел - C++
Два двузначных числа, записанных подряд, образуют четырехзначное число, которое нацело делится на их сумму. Найти все такие числа. ...

В массиве целых чисел найти количество чисел с наименьшим количеством цифр - C++
9. В массиве целых чисел найти количество чисел с наименьшим количеством цифр. Например, в массиве {123, 34, 56, 1000, 20, 55000, 777,...

В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5 - C++
В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5. Сап, форумчане.

В массиве целых чисел удалить все отрицательные числа; найти сумму всех элементов до и после преобразования - C++
С использованием функций и динамических массивов cоставить следующую задачу: В массиве целых чисел T(N) удалить все отрицательные...

7
Finale
13 / 13 / 1
Регистрация: 12.01.2012
Сообщений: 49
16.03.2012, 22:42 #2
Берёте первое число, пробегаетесь по массиву: а) если еще 1 число такое же, выводим. б) если таких чисел больше нету, или их больше чем 1(но если число нечётное - выводить придётся 2 раза) - не выводим.
забыл еще: после первого повторяем для всех элементов массива, ессно оглядываясь на уже найденные результаты.

Хотя условие мне кажется неконкретизированным.
1
Ka3aHTuI7
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 6
19.03.2012, 01:20  [ТС] #3
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
//В массиве целых чисел найти и распечатать все пары одинаковых чисел
#include <iostream>
using namespace std;
 
const int N = 4;
 
int main()
{
    //подключение русского языка
    locale :: global(locale("rus"));
 
    int Z[N];
    int i = 0;
    int j = 0;
 
    cout << "Введите " << N << " целых чисел" << endl;
 
    for(i = 0 ; i < N ; i++)
    {
        cin >> Z[i];
    }
 
    for(i = 0 ; i < N ; i++)
    {
        for(j = 1 ; j < N ; j++)
        {
            if(Z[i] == Z[j])
            {
                cout << "Пары елементов :[" << Z[i] << Z[j] << "]" << endl;
            }
        }
    }
 
 
                
 
    system("pause");
    return 0;
Как я понят нужно так зделать. Но программа всеравно работает некорректно. А если через if делать, то это издевательство уже. Я взял массив из 4 елементов, а если из 20 захочю? Это же столько if надо будет писать. Может есть вариант по проще?
0
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
19.03.2012, 01:40 #4
если считать что в таком массиве 3 3 3 4 4 две пары 3 3 и 4 4, тогда

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
//В массиве целых чисел найти и распечатать все пары одинаковых чисел
#include <iostream>
using namespace std;
 
 
int main()
{
 //подключение русского языка
    locale :: global(locale("rus"));
    int N;
    cout << "Введите размер массива - " << endl;
    cin >> N;
    int *Z = new int [N];
    int i = 0;
   
    cout << "Введите элементы массива" << endl;
    for(i = 0 ; i < N ; i++)
    {
        cin >> Z[i];
    }
 
    for(i = 0 ; i < N ; i++)
    {
        if(Z[i] == Z[i - 1])
        {
            cout << "Пары елементов :[ " << Z[i] << " ]" << "[ " << Z[i - 1] << "]" << endl;
            i++;        
        }
    }
           delete [] Z;
    system("pause");
    return 0;
}
Добавлено через 1 минуту
тут считаеться пара, если они идут подрят!
1
Ka3aHTuI7
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 6
19.03.2012, 01:44  [ТС] #5
Тоесть он не выдаст пару, если будет равен 3 и 7 елементы к примеру? И возможно ли так сделать. Или все же некорректное условие?
0
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
19.03.2012, 02:00 #6
Цитата Сообщение от Ka3aHTuI7 Посмотреть сообщение
Тоесть он не выдаст пару, если будет равен 3 и 7 елементы к примеру?
нет не выдаст!

Цитата Сообщение от Ka3aHTuI7 Посмотреть сообщение
И возможно ли так сделать. Или все же некорректное условие?
можно сделать все!

Добавлено через 13 минут
Ka3aHTuI7, по вашему сколько сдесь пар 3 3 3?
0
Ka3aHTuI7
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 6
19.03.2012, 02:19  [ТС] #7
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
//В массиве целых чисел найти и распечатать все пары одинаковых чисел
#include <iostream>
using namespace std;
 
const int N = 10;
 
int main()
{
    //подключение русского языка
    locale :: global(locale("rus"));
 
    int Z[N];
    int i = 0;
    int j = 0;
 
    cout << "Введите " << N << " целых чисел" << endl;
 
    for(i = 0 ; i < N ; i++)
    {
        cin >> Z[i];
    }
 
    for(i = 0 ; i < N ; i++)
    {
        for(j = i + 1 ; j < N ; j++)
        {
            if(Z[i] == Z[j])
            {
                cout << "Пары елементов :[" << Z[i] << "," << Z[j] << "]" << endl;
            }
        }
    }   
 
    system("pause");
    return 0;
}
Все получилось! Спасибо большее! Только проблема теперь в другом. Как сделать так, чтобы, если в массиве 3 одинаковых числа второй раз пару не выводило.
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
19.03.2012, 06:20 #8
После найденной пары сразу же выходить из внутреннего цикла. Но в любом случае если будет что то вроде этого 3 4 5 6 3 7 8 9 3, то он выдаст сначала первую и вторую 3 а потом вторую и третью. Можно конечно сделать еще один вложенный цикл, на проверку не встречалась ли цифра уже в пройденном участке.
0
19.03.2012, 06:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2012, 06:20
Привет! Вот еще темы с ответами:

В массиве целых чисел из 20 элементов найти все элементы, значение которых больше среднего арифметического массива - C++
В массиве целых чисел из 20 элементов найти все элементы, значение которых больше среднего арифметического массива. Вывести на кран...

Среди заданных целых чисел k, f, t найти пары кратных - C++
Добрый день.Такая вот задача:среди заданных целых чисел k, f, t найти пары кратных и вывести их на экран.Нужно сделать на C++.

Среди заданных целых чисел k,l,m найти пары кратных - C++
Среди заданных целых чисел k,l,m найти пары кратных. То что получилось\получается у меня - бред%)

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


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

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

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