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

  • Автор темы yardie
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Y

yardie

#1
Дан двумерный массив. Найти число пар соседних элементов. В качестве соседних элементов расссматривать
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();
}
 

DarkKnight

Well-known member
01.08.2010
653
0
#2
Там только данные с помощью генератора случайно величины сделал что бы вводились...

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();
}
Добавлено: Смысл алгоритма как ты видишь прост, обходим каждую строку но со второго элемента до конца... И сравниваем тукущий элемент с прошлым... если они совпадают то по твоему условию - это пара.
 
Статус
Закрыто для дальнейших ответов.