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

Объясните почему не срабатывает И (&&) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дана квадратная матрица порядка N http://www.cyberforum.ru/cpp-beginners/thread814827.html
Дана квадратная матрица порядка N переставить строки матрицы чтобы их последние елементы распологались в порядке невозрастания. Сортировка подсчётом (Помогите плиз)
C++ Даны матрица A[0;n-1][0;m-1] и массив B[0;k-1] Даны матрица А и массив В. Написать программу, которая вычисляет массив С, состоящий из элементов А, расположенных между первым и последним положительным элементами каждого столбца, если сумма этих элементов(расположенных между первым и последним положительным элементами) отсутствует в массиве В. Ввод данных, вывод результата и вычисления оформить в виде отдельных функций. http://www.cyberforum.ru/cpp-beginners/thread814814.html
Очередь? What C++
Всем доброго время суток.Дело в том, что с трудом дается с++, но очень хочется стать программистом.Вообщем ничего толком не объяснив препод дал нам задание и сказал реализовать очередь(ф-ии isEmpty,put и get) написав вот такую программку... #include <iostream> using namespace std; struct tTreeElement { int info; tTreeElement*l,*r; }
C++ Инициализация двухмерных массивов
Доброго времени суток. Объясните, пожалуйста, почему так все работает нормально: int x = {1,1}; А так: int a = 1; int b = 2; x = {a , b}; E2188 Expression syntax in function main()
C++ Ошибка в коде программы. conversion from 'double' to 'int', possible loss of data, error C2018: unknown charact http://www.cyberforum.ru/cpp-beginners/thread814806.html
#include <iostream.h> int add3(int, int, int); double average(int); void main() { int score_l, score_2, score_3, sum; cout << "\nEnter three marks: "; cin >> score_l >> score_2 >> score_3;
C++ Напишите программы по С++ для новичков Прошу прощения за качество и склейку, надеюсь на вашу помощь. Заранее спасибо! Ознакомьтесь с правилами (в частности, п 5.16 и п 5.18) и оформите задания как полагается. подробнее

Показать сообщение отдельно
mikhail90
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 76
21.03.2013, 18:20     Объясните почему не срабатывает И (&&)
Есть задача нахождения наибольшего общего делителя для двух чисел. Программу я написал.Но почему когда я указывал в цикле И (&&), цикл выполнялся неправильно, а когда указал ИЛИ (||), все заработало. Объясните почему нужно ставить ИЛИ, когда по логике вроде подходит И. Заранее извиняюсь, если мой вопрос глуп
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
#include<iostream>
using namespace std;
int nod (int, int);
int main()
{
    setlocale(0,"");
    int ch1, ch2;
    cout << "Введите два числа" << endl;
    cin >> ch1 >> ch2;
    cout << "НОД: " << nod (ch1, ch2) << endl;
}
int nod (int chislo1, int chislo2)
{
    int NOD;
    if (chislo1 == 0)
        return chislo1;
    else if (chislo2 == 0)
        return chislo2;
    else if (chislo1 > chislo2)
    {
        NOD = chislo2;
        while (chislo1%NOD != 0 || chislo2%NOD != 0) // почему тут надо ставить ИЛИ вместо И ?
        {
            NOD--;
        }
        return NOD;
    }
 
    else if (chislo1 < chislo2)
    {
        NOD = chislo1;
        while (chislo1%NOD != 0 || chislo2%NOD != 0) // почему тут надо ставить ИЛИ вместо И ?
        {
            NOD--;
        }
        return NOD;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru