1.
тут будет всегда одно и тоже число.
Надо так:
C++ |
1
2
3
4
5
6
7
| #include <ctime>
void main()
{
srand(time(0));
// теперь при вызове rand() будет новое число
} |
|
2.
C++ |
1
2
3
4
5
6
| int i,j,r,f,k,b[k];
r=f=0;
for(i=0; i<m; i++)
for(j=0; j<n; j++)
for(r=0; r<n; r++)
for(f=0; f<m; f++) |
|
1) локальные переменные для цикла объявляй в блоке инициализации и НЕЗАБЫВАЙ табуляцию
C++ |
1
2
3
4
| for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
for(int r=0; r<n; r++)
for(int f=0; f<m; f++) |
|
2. k,b[k] что за *** ??
1) Называй переменные своим предназначением:
k - счётчик? counter
b - временный массив? temp_arr
2) int i,j,r,f,k,b[k]; - в ячейке k мусор и ты тут же объявляет массив с размером мусора. Что?)
3) Возвращать массив чутка бред. Просто ты еще указатели не учил.
Итого весь твой бредовый код такой сейчас:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| int BOTTAKOEHAZBAHIE(int a[M][N], int m, int n)
{
const int size = M*N;
int temp_arr[size] = {};
int counter =0;
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
for(int r=0; r<n; r++)
for(int f=0; f<m; f++)
if(a[i][j] != a[r][f]) // если какой то элемент не равен другому элементу двумерного массива
{
while(counter<M)
{
temp_arr[counter]=a[i][j]; //то записать этот элемент в массив b
counter++;
printf("%d",temp_arr[counter]); //и распечатать массив b
}
}
return temp_arr[counter];
} |
|
Почему бредовый? Массив
1 2 3
1 2 3
Подумай что делает твой четверной цикл
P.S. Блин я тебе полностью готовую логику алгоритма дал - вчитайся и делов то!