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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
student_KNUBA
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
15.05.2013, 09:37     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #1
Дан массив А[1..3, 1..15]. Известно, что среди его элементов два и только два равны
между собой. Напечатать их индексы

Помогите)))пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 09:37     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы
Посмотрите здесь:

Дана последовательность а1,а2,…,а15. Верно ли, что все элементы последовательности равны между собой? C++
Дана последовательность целых чисел. Известно, что среди них несколько раз встречаются два подряд идущих нуля. C++
C++ Дана последовательность целых чисел. Известно, что среди них несколько раз встречаются два подряд идущих нуля C++
Дан целочисленный двумерный массив. Известно, что среди его элементов два и только два равны между собой. Напечатать их индексы C++
C++ Верно ли что все элементы последовательности равны между собой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
15.05.2013, 09:43     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #2
student_KNUBA, это как бы двумерный массив? кол-во строк от 1-3 и кол-во столбцов от 1-15?
student_KNUBA
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
15.05.2013, 09:44  [ТС]     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #3
да....все задачки сделал на курсовую остались пару которых не могу...
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.05.2013, 09:47     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #4
Цитата Сообщение от student_KNUBA Посмотреть сообщение
Дан массив А[1..3, 1..15]. Известно, что среди его элементов два и только два равны
между собой. Напечатать их индексы

Помогите)))пожалуйста
С такой нотацией иди к пасквилянтам, а на плюсах нет настоящих многомерных массивов, даже синонимичных массивам массивов и горизонтальное двоеточие не принято.
student_KNUBA
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
15.05.2013, 09:52  [ТС]     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #5
Цитата Сообщение от taras atavin Посмотреть сообщение
С такой нотацией иди к пасквилянтам, а на плюсах нет настоящих многомерных массивов, даже синонимичных массивам массивов и горизонтальное двоеточие не принято.
Проблема в том что именно на С++ нужно
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3782 / 1766 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
15.05.2013, 10:29     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #6
Цитата Сообщение от taras atavin Посмотреть сообщение
а на плюсах нет настоящих многомерных массивов
Ну что за бред вы несете? В С++ присутствует возможность управлять памятью, так кто же мешает расположить подряд N элементов, вслед за которым расположить такую же пару? Или многомерный массив стал чем-то магическим?

Цитата Сообщение от taras atavin Посмотреть сообщение
и горизонтальное двоеточие не принято.
Диапазоны же! Стандартная нотация.

Цитата Сообщение от student_KNUBA Посмотреть сообщение
Дан массив А[1..3, 1..15]. Известно, что среди его элементов два и только два равны
между собой. Напечатать их индексы
А откуда появляются данные? Из файла? Случайным образом (тогда будут ли случаи, когда нет одинаковых значений)? Вводятся пользователем?

В общем, ваша задача сводится к двойному проходу по массиву.
Компилятора под рукой нет, на коленке накидал примерно следующее решение:
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
#include <iostream>
 
int main()
{
  const int x = 3, y = 15;
  int array[x][y];
  int elem1, elem2;
  
  // implement massive filling with values
 
  for (int i = 0; i < x; i++) {
    for (int j = 0; j < y; j++) {
      elem1 = array[i][j];
      for (int m = i; m < x; m++) {
        for (int n = j; n < y; n++) {
          elem2 = array[m][n];
          if (elem1 == elem2 && (i != m && j != n)) {
            std::cout << "Equal elementh's value = " << elem1 << std::endl;
            std::cout << "Elemenths indexes: [" << i << "][" << j << "], [" << m << "][" << n << "]" << std::endl;
            return 0;
          }
        }
      }
    }
  }
 
  return 0;
}
Вместо комментария добавьте получение значений, или предложение пользователю их ввести.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.05.2013, 10:41     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #7
Цитата Сообщение от MikeSoft Посмотреть сообщение
Ну что за бред вы несете? В С++ присутствует возможность управлять памятью, так кто же мешает расположить подряд N элементов, вслед за которым расположить такую же пару? Или многомерный массив стал чем-то магическим?
А при чём здесь память? Какое она вообще имеет отношение к синтаксису оператора []?

Добавлено через 26 секунд
Цитата Сообщение от MikeSoft Посмотреть сообщение
Диапазоны же! Стандартная нотация.
Для паскаля стандартная.
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3782 / 1766 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
15.05.2013, 11:02     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #8
Цитата Сообщение от taras atavin Посмотреть сообщение
А при чём здесь память? Какое она вообще имеет отношение к синтаксису оператора []?
Добавлено через 26 секунд
Для паскаля стандартная.
Синтаксис? А ничего, что задание пишут на понятном языке, а не на языке программирования? Заказчик может вообще не знать, как представлены массивы в том, или другом ЯП, его мало это интересует.
Зачем нужен вот этот оффтоп? Что изменилось бы от того, что задание было бы написано так:
Цитата Сообщение от student_KNUBA Посмотреть сообщение
Дан массив А[3][15]. Известно, что среди его элементов два и только два равны
между собой. Напечатать их индексы
? Ничего! Задание как было, так и осталось. И не важно, есть там диапазон или нет, что называют массивом, как он записан и т.д...
student_KNUBA
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
15.05.2013, 11:53  [ТС]     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #9
Всем большое спасибо!!!!
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.05.2013, 11:57     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #10
Цитата Сообщение от MikeSoft Посмотреть сообщение
Синтаксис? А ничего, что задание пишут на понятном языке, а не на языке программирования? Заказчик может вообще не знать, как представлены массивы в том, или другом ЯП, его мало это интересует.
Тогда откуда тот заказчик знает про квадратные скобки? Если бы было написано полностью по-русски, я бы не постил, но ТС использовал нотацию языка программирования.
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3782 / 1766 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
15.05.2013, 12:02     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #11
Цитата Сообщение от taras atavin Посмотреть сообщение
Тогда откуда тот заказчик знает про квадратные скобки?
Что-то мне подсказывает, что с уроков математики
Но опять же, что это меняет?

Предлагаю прекратить оффтоп! Обсуждение правильности написания задания - не является темой, относящейся к разделу, посвященному С++.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.05.2013, 12:06     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #12
Цитата Сообщение от MikeSoft Посмотреть сообщение
Что-то мне подсказывает, что с уроков математики
Но опять же, что это меняет? Предлагаю прекратить оффтоп! Обсуждение правильности написания задания - не является темой, относящейся к разделу, посвященному С++.
В математике нет такой нотации массива. Если бы с математики, то было бы хотя бы http://www.cyberforum.ru/cgi-bin/latex.cgi?A_{1..3,1..15}. А если ТС хочет, чтоб массив индексировался именно через запятую в одних скобках, то ему в раздел паскаля.
student_KNUBA
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
15.05.2013, 15:48  [ТС]     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #13
Всеравно всем спасибо кто помог советом или комментариям...

Добавлено через 8 минут
Хотя что-то не сильно получается ее доделать
student_KNUBA
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 15
19.05.2013, 17:06  [ТС]     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #14
Дан массив А[1..3, 1..15]. Известно, что среди его элементов два и только два равны
между собой. Напечатать их индексы
henecs
 Аватар для henecs
16 / 16 / 0
Регистрация: 19.05.2013
Сообщений: 135
19.05.2013, 17:31     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #15
при первом нахожению таких эелементов выходим из цыкла, если я правильно понял задачу
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
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
   int *mas,n;
   cout<<"n = "; cin>>n;
   mas = new int [n];
   for (int i=0;i<n;i++)
      {
         cout<<"a["<<i+1<<"]= ";
         cin>>mas[i];
      }
   for (int i=0;i<n;i++)
      {
         int count=0,tmp=0;
         for (int l=0;l<n;l++)
             if (mas[i]==mas[l])
               {
                count ++;
                tmp=l-i;
               };
         if (count==2)
            cout<<"a["<<i+1<<"] = a["<<i+tmp+1<<"]\n";
            break;
      };
   system("pause");
   return 0;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
19.05.2013, 17:39     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #16
henecs,
Цитата Сообщение от student_KNUBA Посмотреть сообщение
Дан массив А[1..3, 1..15]
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
19.05.2013, 18:00     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #17
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
60
61
62
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL,"Russian");
 
    int **massiv,temp = 0,str,stb;
 
    cout<<"Введите колличетсво строк и стобцов: ";
    cin>>str>>stb;
 
    massiv = new int *[str];
        for (int i = 0;i<str;i++)   
        {
            massiv[i] = new int [stb];
        }
 
        cout<<"Заполните массив: ";
            cout<<endl;
        for (int i = 0;i<str;i++)   {
            for (int j = 0;j<stb;j++)   {
                cin>>massiv[i][j];
                cout<<setw (3)<<massiv[i][j];
            }
            cout<<endl;
        }
 
        int it,jt,kt,lt;
        for (int i = 0;i<str;i++)   {
            for (int j = 0;j<stb;j++)   {
                for (int k = 0;k<str;k++)   {
                    for (int l = 0;l<stb;l++)   {
                        if (massiv[i][j] == massiv[k][l]){
                        temp++;
                        it = i;
                        jt = j;
                        kt = k;
                        lt = l;
                        }
                        if (temp == 2)
                        {
                cout<<"Индекс первого элемента: "<<it<<" "<<jt;
                    cout<<endl;
                cout<<"Индекс второго: "<<kt<<" "<<lt;
                    cout<<endl;
                        }
                    }
                }
            }
        }
 
 
    system ("pause");
    return 0;
}
henecs
 Аватар для henecs
16 / 16 / 0
Регистрация: 19.05.2013
Сообщений: 135
19.05.2013, 18:07     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #18
Цитата Сообщение от Ev[G
eN;4580689]Дан массив А[1..3, 1..15]
а это причем?
память под масив выделяеться динамически
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
19.05.2013, 18:09     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #19
Цитата Сообщение от henecs Посмотреть сообщение
а это причем?
память под масив выделяеться динамически
при том, что в условии массив двумерный, а ты сделал одномерный
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 18:09     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
19.05.2013, 18:09     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы #20
henecs, массив должен быть двумерный,а у вас одномерный...
Yandex
Объявления
19.05.2013, 18:09     Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы
Ответ Создать тему
Опции темы

Текущее время: 08:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru