Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/55: Рейтинг темы: голосов - 55, средняя оценка - 4.78
10 / 9 / 1
Регистрация: 25.12.2019
Сообщений: 335

Как перечислить элементы массива в условии - if

14.02.2020, 22:00. Показов 11254. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добра, братья по цеху!
Снова прошу подсказать где - РЫТЬ.
Передо мной 3 книжки, тока подскажите пожалуйста в какой теме может быть хоть намек, я не нахожу!

Как красиво перечислить элементы массива в условии - if
Если подобное вообще реально конечно
C++
1
2
3
4
int size=4;
char mass[size][5] = {"b2","d20","m14","s9",};
 
if (ch==mass[0])
один элемент то, могу сравнить, а как сделать так, чтобы - ch сравнивался с каждым элементом массива?

простой способ, не вполне устравивает! длинно слишком ...
C++
1
if (ch=="b2"||ch=="d20"||ch=="m14"||ch=="s9")
ЗАРАНЕЕ БЛАГОДАРЕН ЗА ПОДСКАЗКУ КАКАУЮ ТЕМУ СМОТРЕТЬ!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2020, 22:00
Ответы с готовыми решениями:

перечислить конкретные элементы массива без цикла
Возможно ли перечислить элементы массива что-то вроде от 0 до n?

перечислить элементы массива D в массив E и подсчитать в них количество положительных чисел.
А. дан D(50) и -1<x<=1 перечислить элементы массива D в массив E и подсчитать в них количество положительных чисел. Б. дан D(10,10) ...

Как перечислить элементы множества?
Всем привет. По какой формуле решаются такие примеры? B={x: x∈Z; 4x2+3x-1≤0} Спасибо!

23
10 / 9 / 1
Регистрация: 25.12.2019
Сообщений: 335
08.03.2020, 22:19  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от fao Посмотреть сообщение
(в случае, если они окажутся неравны), программа по ветке else выйдет из цикла for и проигнорирует оставшиеся элементы.
Так и есть!
У меня стойкое чувство, что я имею смутное понимание как некоторые вещи работают!
Когда дело касается циклов, вот как в данном случае, то в 50% случаев действую наугад((( не дело это!

Добавлено через 2 минуты
Цитата Сообщение от Yetty Посмотреть сообщение
R_U_S_V, для новой задачи создавайте новую тему
Хорошо! Просто форумы все разные! Где за то что темы плодят, ругают.. где-то наоборот. Задача другая конечно согласен

Добавлено через 2 минуты
Цитата Сообщение от fao Посмотреть сообщение
тогда значение i, равное размеру массива, само будет играть роль флага, сигнализирующего о том, что введенное число в массиве не найдено.
Опять на эти грабли наступил! Ведь это решение мне уже посказывали, как не запомнил блин! спасибо!

Добавлено через 20 минут
fao Благодарю! поправки внес.
Со статичеким массивом видимо чтобы - size_arr нигде ниже по коду нельзя было переопределить (изменить значение) случайно!? Ну то есть своего рода блокировка...
0
199 / 155 / 45
Регистрация: 11.11.2019
Сообщений: 348
08.03.2020, 22:30
Теперь, если немного изменить код, получим такой результат:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  const int size_arr = 3;
    int array[size_arr] = { 12, 22, 54 };
    int /*i,*/ a;
 
    while (1)
    {
        cout << "\n\n - enter numder: ";
        cin >> a;
 
        bool flag = false;
        for (int i = 0; i < size_arr && !flag; ++i)
        {
            if (a == array[i])
            {
                flag = true;
                cout << "\n есть такое число! ";
            }
        }
        if (!flag)
        {
            cout << "\n нет такого числа! ";
        }
    }
Это уже не исправление ошибок.
1. Локальные переменные (по крайней мере легких типов) желательно объявлять как можно ближе к месту их использования. Таким образом мы объявление переменной цикла i перенесли в сам цикл.
2. Насильственный выход из цикла по break тоже кое-кто считает не очень с точки зрения стиля. Поэтому мы можем явно ввести флаг в переменной типа bool и расширить условие выхода из цикла, избавившись от break.
Кроме того, так как теперь переменная цикла i видна только внутри тела цикла, мы можем использовать флаг для проверки отсутствия в массиве введенного числа. Если флаг в цикле не принял значение true, то это означает, что ни разу не выполнилось условие if (a == array[i]), следовательно введенное число в массиве не найдено

Добавлено через 8 минут
Цитата Сообщение от R_U_S_V Посмотреть сообщение
Со статичеким массивом видимо чтобы - size_arr нигде ниже по коду нельзя было переопределить (изменить значение) случайно!?
Не для этого. Объем памяти, выделяемой под статический массив, компилятор должен знать заранее, т.е. до начала выполнения программы. Такую информацию компилятор может получить при объявлении константы. Если мы не хотим объявлять константу, то нужно организовывать динамический массив:
C++
1
2
    int size_arr = 3;
    int* array = new int[size_arr];
Конечно, для реализации подобной логики существуют и другие варианты.
1
10 / 9 / 1
Регистрация: 25.12.2019
Сообщений: 335
08.03.2020, 22:44  [ТС]
fao, КАК ВАС БЛАГОДАРИТЬ?
0
199 / 155 / 45
Регистрация: 11.11.2019
Сообщений: 348
08.03.2020, 22:54
Цитата Сообщение от R_U_S_V Посмотреть сообщение
КАК ВАС БЛАГОДАРИТЬ
Дык уже. Единичка в уголочке . Тут вроде весь народ так общается.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.03.2020, 22:54

поменять местами элементы массива при условии
Ниже представлен мой код,в комментариях написал как работает программа. Работает правильно-из одного массива записывает в другой все...

Все элементы массива, предшествующие максимальному, установить равными минимуму (при определенном условии)
Задание:Дан массив из 15 целых чисел. Если минимальный эле- мент меньше максимального в 2 раза, то все элементы, предшест- вующие...

Найти максимальный элемент массива и его номера, при условии, что все элементы различны
Дан массив целых чисел.Найты максимальный элемент массива и его номера, при условии, что все элементы различны;

Как найти для этих условии 2 парных чисел а и b при котором выполняется все условии?
Мой пример кода был таким данный момент но не работал. В экране пустота. Ничего не выводится. Где у меня ошибка? Чего исправит? static...

Перечислить элементы множества
Перечислить все элементы множества. Задание 24 http://i055.***********/1004/14/c819485bbbfb.jpg Заранее спасибо!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru