Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
GiantRaque
0 / 0 / 1
Регистрация: 03.03.2014
Сообщений: 9
#1

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

09.03.2014, 22:37. Просмотров 1063. Ответов 6
Метки нет (Все метки)

Часть программы выполнена, но не получается поставить верное условие для сравнения элементов в массиве (уточнение: использовать можно только два цикла, т.е. нельзя подключить вспомогательный массив). Исправьте, пожалуйста, где неправильно.
Вот мой нерабочий фрагмент:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (i=1; i<=m; i++)
{
           for (j=1; j<=n; j++)
           {
                if (a[i][j]==a[i++][j++])
                {
                i=h;
                j=k;                      
                i+=c;
                j+=b;
                cout<<"1 элемент: "<<h<< k<<"\n";
                cout<<"2 элемент: "<<c<< b<<"\n";
                }
           }
}

http://www.cyberforum.ru/cpp-beginners/thread1330953.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2014, 22:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Дан целочисленный двумерный массив. Известно, что среди его элементов два и только два равны между собой. Напечатать их индексы (C++):

Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы
Дан массив А. Известно, что среди его элементов два и только два равны между...

Проверить, что из введённых чисел x, y, z только два числа равны между собой
Не использую оператора if, присвоить переменной значение t значение 0, если из...

Дан целочисленный массив с количеством элементов n. напечатать те его элементы, индексы которые являются степенями двойки
Дан целочисленный массив с количеством элементов n. напечатать те его элементы,...

Дан массив Х(215), найти среди его элементов два элемента...
Не знаю что писать во втором цикле!Дан массив Х(215), найти среди его элементов...

Создайте двумерный массив целочисленный массив А[1..10], [1..7] и найдите сумму всех его элементов имеющие оба нечетные индексы.
Создайте двумерный массив целочисленный массив А, и найдите сумму всех его...

6
fishec
121 / 121 / 62
Регистрация: 07.09.2013
Сообщений: 343
09.03.2014, 22:58 #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
#include <iostream>
using namespace std;
 
int main(){
 
    int m = 4;
    int n = 3;
    int a[4][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 3, 7, 8 }, { 10, 11, 12 } };
    for (int i = 0; i<m; i++){
        for (int j = 0; j<n; j++){
            for (int i2 = i; i2<m; i2++){
                for (int j2 = i == i2 ? j + 1 : 0; j2 < n; j2++){
                    if (a[i][j] == a[i2][j2]){
                        cout << "1 : " << i <<" "<< j << "\n";
                        cout << "2 : " << i2 << " "<< j2 << "\n";
                        system("pause");
                        return 0;
                    }
                }
            }
        }
    }
    return 0;
}
0
GiantRaque
0 / 0 / 1
Регистрация: 03.03.2014
Сообщений: 9
10.03.2014, 11:20  [ТС] #3
fishec, Благодарю за ответ, но вы сделали именно то, о чем я сказала в уточнении) вы берете еще массив a[i2][j2], таким способом я тоже делала, но нужно уложиться именно в один a[i][j]
0
fishec
121 / 121 / 62
Регистрация: 07.09.2013
Сообщений: 343
10.03.2014, 17:39 #4
Цитата Сообщение от GiantRaque Посмотреть сообщение
вы берете еще массив a[i2][j2]
это тот же самый массив a.
0
GiantRaque
0 / 0 / 1
Регистрация: 03.03.2014
Сообщений: 9
10.03.2014, 19:20  [ТС] #5
fishec, но цикла должно быть только два, а не четыре
0
fishec
121 / 121 / 62
Регистрация: 07.09.2013
Сообщений: 343
10.03.2014, 20:24 #6
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Пожалуйста, два цикла)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main(){
 
    int m = 4;
    int n = 3;
    int a[4][3] = { { 41, 2, 3 }, { 4, 5, 6 }, { 47, 7, 8 }, { 10, 41, 12 } };
    for (int i =0; i<m*n; ++i){
        for (int j = i+1; j<m*n; ++j){
            if (a[i/n][i%n] == a[j/n][j%n]){
                cout << "1 : " << i/n << " " << i%n << "\n";
                cout << "2 : " << j/n << " " << j%n << "\n";
                system("pause");
                return 0;
            }
        }
    }
    return 0;
}
0
GiantRaque
0 / 0 / 1
Регистрация: 03.03.2014
Сообщений: 9
24.03.2014, 09:59  [ТС] #7
fishec, благодарю)
0
24.03.2014, 09:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2014, 09:59
Привет! Вот еще темы с решениями:

Дан целочисленный массив А[п], среди элементов есть одинаковые. Создать массив из различных элементов А[п]
Помогите пожалуйста с поставленной задачей: Дан целочисленный массив А, среди...

Двумерный массив. Найти наименьший элемент матрицы. Напечатать его индексы
Найти наименьший элемент матрицы. Напечатать его индексы. Добавлено через 40...

Дана последовательность целых чисел. Известно, что среди них несколько раз встречаются два подряд идущих нуля.
1. Дана последовательность целых чисел. Известно, что среди них несколько раз...

Дан целочисленный одномерный массив А, состоящий из 14 элементов. вычислить и напечатать сумму парши элементов
дано целочисленный одномерный массив А, состоящий из 14 элементов. вычислить и...


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

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

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