Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Chip_men
0 / 0 / 0
Регистрация: 04.01.2016
Сообщений: 35
#1

Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? - C++

16.09.2016, 10:22. Просмотров 168. Ответов 8
Метки нет (Все метки)

Привет всем дорогие друзья с толкнулся с такой проблемой, начал ходить на уроки с++ и приступил к изучению массива
сталкнулся с такой проблемой, учитель сказал что код в порядке но массив не работает так как один из if не даёт видить массив пожалуйста помогите исправить ошибку не изменяя код полнустью спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <string>
using namespace std;
int main()
 
{
 
    string h;
metka:
    cout << "prognos pogodi" << endl;
    cin >> h;
 
    string prognos[] = { "ponedelnik", "vtornik", "sreda", "chetverk", "patynica", "sybota" };
 
 
 
 
    if (h != prognos[0,1,2,3,4,5])
    {
        cout << "ne verno" << endl;
    }
 
 
    else if (h == prognos[0])
    {
        cout << "dnem + 30    noh +29 " << endl;
    }
    else if (h == prognos[1])
    {
        cout << "dnem + 35    noh +28 " << endl;
    }
 
    else if (h == prognos[2])
    {
        cout << "dnem + 30    noh +25 " << endl;
    }
    else if (h == prognos[3])
    {
        cout << "dnem + 26    noh +19 " << endl;
    }
    else if (h == prognos[4])
    {
        cout << "dnem + 24    noh +16 " << endl;
    }
    else    if (h == prognos[5])
    {
        cout << "dnem + 30    noh +29 " << endl;
    }
 
 
 
    goto metka;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2016, 10:22     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ?
Посмотрите здесь:

Необходимо каждый элемент массива сравнить с его 8 соседями и если он больше, чем любой из элементов с которыми сравнивается, его распечатать. C++
C++ Сравнить каждый элемент двух векторов
C++ Как сравнить элемент двумерного массива?
Как сравнить элемент массива? C++
C++ Нюансы синтаксиса: оператор & после переменной
C++ Нюансы синтаксиса: что значит std::cin в условии цикла while?
C++ Нюансы синтаксиса: наиболее правильный способ передачи массива в функцию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lawr
359 / 253 / 122
Регистрация: 09.05.2014
Сообщений: 761
16.09.2016, 11:02     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Chip_men, строку 18 поменяйте на
C++
1
 if (h != prognos[0]&&h != prognos[1]&&h != prognos[2]&&h !=prognos[3]&&h != prognos[4]&&h != prognos[5])
P.S.- вместо лестницы if-else тут лучше использовать swich.
P.P.S.- за goto учитель должен бить по рукам.
Chip_men
0 / 0 / 0
Регистрация: 04.01.2016
Сообщений: 35
16.09.2016, 11:24  [ТС]     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? #3
lawr, а что тогда использовать вместо go to return 0 лили system pause???
спасибо вам огромное
lawr
359 / 253 / 122
Регистрация: 09.05.2014
Сообщений: 761
16.09.2016, 11:28     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? #4
Chip_men, в данном случае while (1). таким вот образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <string>
using namespace std;
int main()
 
{
 
    string h;
while (1){
    cout << "prognos pogodi" << endl;
    cin >> h;
 
    string prognos[] = { "ponedelnik", "vtornik", "sreda", "chetverk", "patynica", "sybota" };
 
 
 
 
    if (h != prognos[0,1,2,3,4,5])
    {
        cout << "ne verno" << endl;
    }
 
 
    else if (h == prognos[0])
    {
        cout << "dnem + 30    noh +29 " << endl;
    }
    else if (h == prognos[1])
    {
        cout << "dnem + 35    noh +28 " << endl;
    }
 
    else if (h == prognos[2])
    {
        cout << "dnem + 30    noh +25 " << endl;
    }
    else if (h == prognos[3])
    {
        cout << "dnem + 26    noh +19 " << endl;
    }
    else if (h == prognos[4])
    {
        cout << "dnem + 24    noh +16 " << endl;
    }
    else    if (h == prognos[5])
    {
        cout << "dnem + 30    noh +29 " << endl;
    }
}
}
system pause используется для того, чтобы консоль не закрывалась сразу после завершения программы, а return 0- это собственно нормальное завершение main.
redseven
49 / 8 / 7
Регистрация: 07.02.2015
Сообщений: 242
16.09.2016, 11:29     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? #5
Вместе можно

C++
1
2
system("pause");
return 0
Chip_men
0 / 0 / 0
Регистрация: 04.01.2016
Сообщений: 35
16.09.2016, 11:33  [ТС]     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? #6
lawr, нет учитель хороший он очень хорошо объясняет но все карты не раскрывает и за этого он даёт мне иструментарий которуму я у него учусь и даёт задачу а я должен ёё выполнеть после чего он мне указывает на мои минусы. Честно сказать я очень мало трачу время на это в частности не знаю как у меня получаеться выполнить задачу хоть я трачу минут 10-15 на это дело и когда он проверяет он говорит это это - ищи ощибку и сделай легче и ты напрягаешь мозг и делаешь идеально написсаный код без всякого калла просто когда я делаю за 10-15 минут получаеться шаблон как выше а когда трачу 20-40 мин получаеться очень даже отлично это немного моя вина А вам спасибо у меня было в голове также сделать но я думал что с 18 строкой все впорядке оказываеться синтаксис нарушался.
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3528 / 1810 / 477
Регистрация: 18.10.2014
Сообщений: 3,331
16.09.2016, 19:38     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? #7
Цитата Сообщение от Chip_men Посмотреть сообщение
C++
1
if (h != prognos[0,1,2,3,4,5])


Что имелось в виду под этим сравнением?
lawr
359 / 253 / 122
Регистрация: 09.05.2014
Сообщений: 761
16.09.2016, 20:24     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? #8
TheCalligrapher, зато учитель хороший
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2016, 13:39     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ?
Еще ссылки по теме:

Нюансы синтаксиса: как рекомендуется использовать ключевое слово auto? C++
Нюансы синтаксиса: как запустить программу, которая находится в каталоге Program Files? C++
Нюансы синтаксиса: объяснить как работает тернарная операция в заданном фрагменте кода C++
C++ Нюансы синтаксиса: как правильно обращаться к полям класса по указателю?
Нюансы синтаксиса: как вызвать функцию по указателю? C++

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

Или воспользуйтесь поиском по форуму:
Chip_men
0 / 0 / 0
Регистрация: 04.01.2016
Сообщений: 35
17.09.2016, 13:39  [ТС]     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? #9
lawr,
к этому я пришел сам, он подсказал что в одном из if есть проблема из за чего не работает массив сказал чтоб я сам разобрался
и нашел ошибку
Yandex
Объявления
17.09.2016, 13:39     Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ?
Ответ Создать тему
Опции темы

Текущее время: 14:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru