Найти число пар соседних элементов массива

Тема в разделе "Общие вопросы по С и С++", создана пользователем yardie, 26 окт 2010.

Статус темы:
Закрыта.
  1. yardie

    yardie Гость

    Дан двумерный массив. Найти число пар соседних элементов. В качестве соседних элементов расссматривать
    1 только элементы расположенные в одной строке

    мой код запутан, он не верен, не магу поймать логику(((
    Если не трудно напишите уже рабочий алгоритм, хотябы его принцип))

    Код (C++):
    #include <iostream>
    using namespace std;
    void main()
    {
    const int z = 2, y = 3;
    int a[z][y];
    int i,j;
    int s=0,n=0;
    for(i = 0; i < z; i++)
    {for( j = 0; j < y; j++)
    cin>> a[i][j];}
    for(i = 0; i < z; i++)
    {
    for( j = 0; j < y; j++)
    {
    if( a[i][j] > a[i][j+1] || a[i][j] < a[i][j+1])
    s++;
    }
    }
    cout << "Paru" << s;
    cin.get();
    cin.get();
    }
     
  2. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Там только данные с помощью генератора случайно величины сделал что бы вводились...

    Код (C++):
    #include <iostream>
    #include <time.h>
    using namespace std;
    void main()
    {
    const int z = 10, y = 10;
    int a[z][y];
    //int i,j;
    int s=0,n=0;

    srand(time(0));

    //Заполним элементы массива
    for (int i=0; i<z; i++)
    {
    for (int j = 0; j < y; j++)
    {
    a[i][j]=rand()%100;
    cout<<a[i][j]<<"\t";
    }
    cout<<endl;
    }


    for (int i=0; i<z; i++)
    {
    for (int j = 1; j<y; j++)
    {
    if (a[i][j-1] == a[i][j]) //Если соседние элементы одинаковые
    {
    s++;
    }
    }
    }

    cout << "Paru :" << s;
    cin.get();
    cin.get();
    }
    Добавлено: Смысл алгоритма как ты видишь прост, обходим каждую строку но со второго элемента до конца... И сравниваем тукущий элемент с прошлым... если они совпадают то по твоему условию - это пара.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей