Загрузка...

Help with a problem

Thread in C/C++ created by нелепость Nov 27, 2022. 201 view

  1. нелепость
    нелепость Topic starter Nov 27, 2022 Кружки - lolz.live/threads/6094870/ 7475 Jan 20, 2020
    Дана последовательность из М чисел. Найти набольшее и наименьшее из чисел меньших 10 или больших 100 . Вывести их порядковые номера.
    Решать с оператором for.
    Без массивов.
    Есть приблизетльный код, но нужно его дополнить, т.к. он вычисляет в диапозоне меньше 10 и больше 100. Дополнить надо вычисление меньше 10, без больше 100. И без меньше 10, больше 100.
    C
    # include <iostream>
    using namespace std;
    int main()
    {
    setlocale(LC_CTYPE, "Russian");
    system("color f0");

    int M,i,n,min=10,max=100,minNum=-1,maxNum=-1;
    cout << "Введите количество чисел:";
    cin >> M;

    for (i = 0; i < M; i++)
    {
    cout << "Введите число:";
    cin >> n;
    if (n < min)
    {
    min = n;
    minNum = i + 1;
    }
    else if (n > max)
    {
    max = n;
    maxNum = i + 1;
    }
    }
    cout << "Мин число:" << min << " Номер:" << minNum;
    cout << "\n" <<"Макс число:" << max << " Номер:" << maxNum;
    }
     
  2. LVV

    неверная логика нахождения минимума.
    если числа будут 5 6 7 8 9
    у тебя минимум выведется как -1

    просто добавить условия или сделать два цикла если хочешь найти по отдельности

    + сравнивать нужно оба случая, если ищешь максимум и минимум, а не единичный
     
    1. View previous comments (2)
    2. LVV
      нелепость, ебать, у тебя 4 переменных на чисто индексацию, соре. я увидел что у тебя переменных две.

      но это не отменяет неверную логику.
      для нахождения:
      для минимума сетят 10^6
      для максимума сетят: 0

      а у тебя они равны 10 и 100
      даже так у тебя неверный минимум и максимум))

      пример:
      11, 12, 13
      для минимума:
      10 > 11
      нет
      10 > 12
      нет
      10 > 13
      нет
      ответ: 10, хотя должно быть 11

      и также с максимумом.

      потрудись открыть гугл, тебе решение за бесплатно не скину(т)
    3. нелепость Topic starter
      LVV, почему у меня ответ должен быть 11 если промежуток задан меньше 10 и больше 100
  3. Joker9019
    Joker9019 Dec 5, 2022 Banned 3 Nov 27, 2022
    нелепость,
    C
    #include <iostream>

    using namespace std;

    int main()

    {

    int M, a; int min, max;

    int min_index, max_index;

    cout << "Enter M: ";

    cin >> M;

    cout << "Enter sequence of numbers: ";

    for (int i = 0; i < M; i++)

    {

    cin >> a;

    if (a > 100 || a < 10)

    {

    if (i == 0)

    {

    min = a;

    max = a;

    min_index = i;

    max_index = i;

    }

    else

    {

    if (a > max)

    {

    max = a;

    max_index = i;

    }

    else if (a < min)

    {

    min = a;

    min_index = i;

    }

    }

    }

    }

    cout << "Maximum number: " << max << " Index: " << max_index+1 << endl;

    cout << "Minimum number: " << min << " Index: " << min_index+1 << endl;



    return 0;

    }
     
    1. нелепость Topic starter
Top
Loading...