Загрузка...

Исправить ошибку в коде

Тема в разделе C/C++ создана пользователем SellerNumbOne 15 окт 2020. 200 просмотров

  1. SellerNumbOne
    SellerNumbOne Автор темы 15 окт 2020 МАМA ДУМАEТ ЧТО Я ГДЕ-ТО ВАЙТИ 65 9 фев 2019
    [IMG] Надо проверить сколько елементов массива входят в множество простых чисел, вот мой код,почему-то не робит как я планировал(
     
  2. Epsolity
    Там задумано, чел
     
  3. xaaan
    SellerNumbOne,
    C
    for (int a =2; a < arr[i]; a++)
    ...
    и все последующее до } if (flag) исправь на:
    ...
    for (int a = 2; a*a<=arr[i]; a++) {
    if (arr[i] % 2 == 0)
    flag = false;
    break;
    }
    flag = true;
    Попробуй так

    UPD: в твоем коде ключевое слово continue в цикле, где ты проверяешь на деление элемент массива - неверное. В случае если у тебя найдется такое число, которое поделится нацело на элемент массива ты значение флага сделаешь false, но продолжишь гнать этот цикл дальше, сделав a++. Замени continue на break - это приведет к остановке цикла проверки и флаг будет false - число поделилось нацело и оно не простое. Следует заметить, что с помощью break ты выйдешь только с цикла for (int a = 2; a < arr; a++). А элементы массива так же будут перебираться дальше по своему циклу
     
    16 окт 2020 Изменено
    1. SellerNumbOne Автор темы
      xaaan, Спасибо огромное, помог)
Загрузка...
Top