0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 6
1

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

16.03.2012, 22:34. Показов 4247. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2012, 22:34
Ответы с готовыми решениями:

Нужно найти в массиве и распечатать пары одинаковых чисел
Нужно найти в массиве и распечатать пары одинаковых чисел при помощи одномерных массивов. Пример...

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

Найти все пары целых чисел, удовлетворяющие уравнению
найти все пары целых чисел (x,y), удовлетворяющее уравнению 2x^2+35xy+17y^2=1517 был рассмотрен...

Найти все пары целых чисел, диафантовые уравнения.
6{x}^{2}y+4{x}^{2}-5xy-8x+y+3=0 Необходимо найти все пары целых x и y, удовлетворяющих...

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

Хотя условие мне кажется неконкретизированным.
1
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
1066 / 583 / 87
Регистрация: 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
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 6
19.03.2012, 01:44  [ТС] 5
Тоесть он не выдаст пару, если будет равен 3 и 7 елементы к примеру? И возможно ли так сделать. Или все же некорректное условие?
0
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
19.03.2012, 02:00 6
Цитата Сообщение от Ka3aHTuI7 Посмотреть сообщение
Тоесть он не выдаст пару, если будет равен 3 и 7 елементы к примеру?
нет не выдаст!

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

Добавлено через 13 минут
Ka3aHTuI7, по вашему сколько сдесь пар 3 3 3?
0
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
1179 / 892 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
19.03.2012, 06:20 8
После найденной пары сразу же выходить из внутреннего цикла. Но в любом случае если будет что то вроде этого 3 4 5 6 3 7 8 9 3, то он выдаст сначала первую и вторую 3 а потом вторую и третью. Можно конечно сделать еще один вложенный цикл, на проверку не встречалась ли цифра уже в пройденном участке.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2012, 06:20
Помогаю со студенческими работами здесь

В массиве целых чисел определить количество противоположных по знаку одинаковых по модулю чисел
Сформируйте массив целых чисел и определите количество противоположных по знаку одинаковых по...

Для любого целого числа N>7 найти все такие пары целых чисел
Для любого целого числа N&gt;7 найти все такие пары целых чисел x и y, что 3x+5y=N. var...

Среди заданных целых чисел k , l , m найти пары кратных чисел
Ребятки, любому дельному совету буду рад, помогите пожалуйста #include &lt;stdio.h&gt; #include...

Распечатать все пары чисел между заданными A и B
А и В целый число указаны.Распечатать все пары чисел между ними на Python. Заранее спасибо!!

Пользователь вводит пары целых чисел. Вычислить площади прямоугольников, сторонами которых являются эти пары чисел
Пользователь вводит пары целых чисел. Вычислить площади прямоугольников, сторонами которых являются...

дан массив целых чисел a1....an. найти в данной последовательности все пары ai,ai+1, такие что ai=0 и ai+1 кратно двум.
В работе использовать 2 массива А1 и А2, в основной программа предусмотреть вызовы подпрограмм к...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru