Жаль я не силён с указателями, посмотри на код, идую возможно поймёшь, а так компилятор ошибку в функции test выводит, типо не может с массивом там работать, возможно ты сможешь исправить
#include <iostream> #include <stdlib.h>
using namespace std;
int n,l;
int test(int *a, int s) { int ret=0; int c=0; int i,j; for(i=0;i<l;i++) { c=0; for(j=i+1;j<l;j++) if(a[s][i]==a[s][j]) c++; if(ret<c) ret=c; } return ret; }
int compare(const void* a, const void* b) { return *(int *)a-*(int *)b; }
int main() { int i,j,t; int a[10][10],b[10][10]; cin >> n >> l; for(i=0;i<n;i++) for(j=0;j<l;j++) cin >> a[i][j]; int *c = new int[n]; for(i=0;i<n;i++) c[i]=test((int*)a,i); qsort(c,n,sizeof(int),compare); for(i=0;i<n;i++) { for(j=0;j<n;j++) if(test(&a[0][0],i)==c[i]) for(t=0;t<l;t++) b[i][t]=a[i][t]; } }
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку