#include <iostream>
using namespace std;
const int M = 100, N = 100;
void input(int (*p)[M], int mn, int nn);
void source(int &m, int (*p)[M]);
void result(int &m, int (*p)[M]);
int main(){
int arr[M][N], m;
input(arr, M, N);
return 0;
}
void input(int (*p)[M], int mn, int nn){
int m, n;
const char* msg = "";
do{
cout << msg << endl;
cout << "Enter quantity of a rows (not more then " << mn << "): ";
cin >> m;
//checking input...
if(cin.fail())
{
cin.clear();
cin.ignore();
}
msg = "Input error";
} while(m < 1 || m > mn);
for(int i=0;i<m;i++){
msg = "";
do{
cout << msg << endl;
cout << "Enter quantity of elements for a rows " << i + 1 << "(from 1 to " << (nn - 1) << "): ";
cin >> n;
//checking input...
if(cin.fail()){
cin.clear();
cin.ignore();
}
msg = "Input error";
} while(n < 1 || n > (nn - 1));
p[0] = n; //saving quantity of elements in the first element of a row
cout << "Enter values of a row: " << endl;
for(int j=1;j<(n + 1);j++){
cin >> p[j];
}
}
//output
source(m, p);
result(m, p);
}
//source matrix
void source(int &m, int (*p)[M]){
cout << endl << "Source matrix:" << endl;
for(int i=0;i<m;i++){
for(int j=1;j<p[0]+1;j++){
cout << ((j != 1) ? ", " : "") << p[j];
}
cout << endl;
}
}
/*функция, в которой хочу сравнить элементы в каждой строке между собой и сформировать новую матрицу,
если совпадений не найдено, то вставляем пустую строку или ничего не делаем*/
void result(int &m, int (*p)[M]){
int tmp, r[M][N], count;
cout << endl << "Result matrix:" << endl;
for(int i=0;i<m;i++){
for(int j=1;j<p[0]+1;j++){
tmp = p[j]; //сохраняю элемент, котороый буду сравнивать с другими
// тут, собственно начинаю что-то делать, только не знаю как дальше
if(tmp == p[j]){
cout << tmp << ", " << p[j];
}
}
cout << endl;
}
}
[C++]Сравнить элементы массива между собой
Суть задачи такая. Дана непрямоугольная матрица, заполнить её элементами. В первом элементе каждой строки я сохраняю кол-во элементов в этой строке. И мне, исходя из полученной матрицы, нужно сформировать другую, в которой будут выводиться только повторяющиеся более 2-х раз эелементы в строке. Потом переходм на следующую строку и там опять сравниваем все элементы между собой. Вот алгоритм то я понимаю, но программно что-то не могу реализовать, торможу =)