Для цикла в то время как (построение матрицы)

A.odemir Sau спросил: 14 ноября 2017 в 07:16 в: c++

Он строит каждое число [i] [j] матрицы и после каждого числа проверяет, сравнивая число [i] [j] с числами [k] [l] перед ним.

Сначала он проходит из-за отсутствия чисел раньше.

Реальная цель - сделать матрицу со всеми разными числами. Я пытаюсь вернуть начало проверки номеров матрицы так, чтобы при любом столкновении с пчелами то же самое он возобновит проверку.

(изменяет числа, если они совпадают. После изменения число, которое изменяется, может быть одинаковым для всех, кто находится в начале матрицы, поэтому я хочу проверить еще раз при любом изменении)

int matris[10][10];int counter = 0;bool control = true;for (int i = 0; i<10; i++) {    for (int j = 0; j<10; j++) {        matris[i][j] = rand() % 99;
        do {
            for (int k = 0; k <= i; k++) {                for (int l = 0; l <= j; l++) {
                    if (matris[i][j] == matris[k][l])
                    {
                        matris[i][j] = rand() % 99;
                        counter++;
                       if(k==i&&l==j)break;
                        control = false;
                    } 
                     else control=true;                }            }        } while (control == false);    }}

Неважно, записывает ли он значения 99–0 или 100–1. Мой учитель спрашивал у нас числа от 100 до 1.

Реальное проблема в том, что он не контролирует время назад. Он иногда дает одинаковые числа. Это не должно быть.

counter = сколько раз менялись числа.

Здесь результаты ..

counter: 124Matrix: 54 68 83 55 12 30 97 96 63 9152 55 8 6 96 46 55 14 65 9352 94 39 6 92 40 12 86 66 611 1 33 77 46 97 6 16 28 28 4617 72 16 75 93 81 61 82 34 1993 72 96 34 48 49 29 54 81 9472 27 13 8 22 52 12 96 35 6687 84 79 10 52 24 45 49 82 4832 64 34 32 82 85 70 72 97 5544 93 9 86 10 4 33 25 32 99

Вы можете видеть, есть ли там те же самые числа, там это ранжировано. 99 97 97 97 96 96 96 96 94 9493 93 93 93 92 91 87 86 86 8584 83 82 82 82 81 81 79 77 7572 72 72 72 70 68 66 66 65 6463 61 61 55 55 55 55 54 54 5252 52 52 49 49 48 48 46 46 4645 44 40 39 35 34 34 34 33 3332 32 32 30 29 28 28 27 25 2422 19 17 16 16 14 13 12 12 1211 10 10 9 8 8 6 6 6 4Нажмите любую клавишу, чтобы продолжить. , . Р>

0 ответов