T
Tanzilit
Здравствуйте товарищи программеры
тут такая ситуация
Есть уже написанная прога(с правилами я ознакомлен и не прошу за меня вам писать прогу,да это и не требуется)
Единственно в чем я вас прошу помочь:
1)Протестить прогу(я тестил на досовском с++ 3.1 и чет тупит, хотя в коде ошибок не заметил)
2)необходимо встроить в нее счетчик операций а увы не умею
Помогите плиз.Вам это должно быть не трудно а мне очень поможете!
Итак условие задачи:
Дан массив целых, положительных, ограниченных сверху чисел. Определить наиболее часто встречающуюся подряд тройку чисел
Решение:
p.s.Еще раз повторюсь - Необходимо начертить таблицу по типу
размерность массива|колл-во операций
ну то бишь как от размерности массива изменяется колл-во операций
для этого надо встроить счетчик операций в прогу
Заранее благодарен!
тут такая ситуация
Есть уже написанная прога(с правилами я ознакомлен и не прошу за меня вам писать прогу,да это и не требуется)
Единственно в чем я вас прошу помочь:
1)Протестить прогу(я тестил на досовском с++ 3.1 и чет тупит, хотя в коде ошибок не заметил)
2)необходимо встроить в нее счетчик операций а увы не умею
![Wink ;) ;)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f609.png)
Итак условие задачи:
Дан массив целых, положительных, ограниченных сверху чисел. Определить наиболее часто встречающуюся подряд тройку чисел
Решение:
Код:
#include<stdio.h>
#include<mem.h>
#include<stdlib.h>
#define MAX 8 //Ограничивающее число
#define MAXMS 1024 //Размер массива
void main()
{
int i, i1, i2, j, n1, n2, n3;
int ms[MAXMS], //Наш массив
kms[MAX][MAX][MAX]; //Массив под комбинации
//Обнуляем массив
memset( kms, 0, MAX * MAX * MAX * sizeof(int) );
//Заполняем массив случайным образом в указанных пределах
randomize( );
for( i = 0; i < MAXMS; i ++ )
ms[i] = random( MAX );
//Ищем кол-во каждой комбинации
for( i = 0; i < MAXMS; i += 3 ){
if( i + 2 > MAXMS ) break;
kms[ms[i]][ms[i + 1]][ms[i + 2]] ++;
}
//Ищем наиболие встречающуюся комбинацию
for( j = 0, i = 0; i < MAX; i ++ )
for( i1 = 0; i1 < MAX; i1 ++ )
for( i2 = 0; i2 < MAX; i2 ++ )
if( j < kms[i][i1][i2] ){
j = kms[i][i1][i2];
n1 = i;
n2 = i1;
n3 = i2;
}
//Теперь n1 n2 n3 - искомая тройка чисел встречается j раз
printf( "%d %d %d - %d", n1, n2, n3, j );
}
p.s.Еще раз повторюсь - Необходимо начертить таблицу по типу
размерность массива|колл-во операций
ну то бишь как от размерности массива изменяется колл-во операций
для этого надо встроить счетчик операций в прогу
Заранее благодарен!