Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Не могу понять, что делает "%=" - C++

07.07.2012, 11:35. Просмотров 473. Ответов 7
Метки нет (Все метки)

Не могу понять, что делает "%=". Вот написал не большую програмку, но так что то и не втыкаю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <iostream>
using namespace std;
int main() 
{
   int a = 30, b = 10;
 
   b %= a;      
 
   cout  << "b %= a" << b << endl;
         
getchar();
}
a = -30, b = 10; Выдает 10;
a = -5, b = 10; Выдает 0;
a = -4, b = 10; Выдает 2;
a = -1, b = 10; Выдает 1;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2012, 11:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу понять, что делает "%=" (C++):

Не могу понять что делает функциия - C++
map&lt;char,int&gt; next; int &amp;get (char c) { if (!next.count(c)) next = -1; return next; } И можно ли будет заменить его...

Объясните что именно делает "x%d, y%d: " или что это в даном коде - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double rast(double x1, double y1, double x2, double y2) // Функція яка...

Коллеги что же все такие делает "using namespace std"? - C++
Я понял то что &quot;using namespace st&quot; мы вводим для того что бы не писать &quot;std::cout&lt;&lt;&quot; ну а конкретно, деловым...

Что делает цикл "while(cin.getline(buf,l_buf))" ? - C++
не могу понять,что делает цикл:while(cin.getline(buf,l_buf))-это по сути проверка на ввод строки? cin.getline()-вводит строку ...

Не могу понять, как "живут" файловые указатели - C++
Не могу понять как живут файловые указатели... Есть у меня файл, и пишу в него 100 интов. Указатель ввода сдвигается на 400, так и надо....

Добрый день , не могу понять почему не работает system("clr")? - C++
#include&lt;iostream&gt; #include&lt;string&gt; // getline #include&lt;cstdlib&gt; // system using namespace std; void main() { int a ; char d;...

7
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
07.07.2012, 11:38 #2
wizzzi,
C++
1
a%=b
эквивалентно
C++
1
a=a%b
1
yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
07.07.2012, 11:39 #3
Остаток от деления b на a будет находится в b
Т.е. остаток от деления b = 10 на a = 30 будет 10, и ты сразу записываешь 10 в b
1
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2012, 12:04 #4
Цитата Сообщение от wizzzi Посмотреть сообщение
Не могу понять, что делает "%=".
Это то же самое, что:
C++
1
 b = b % a;
Остаток от b/a присваивается b.
1
-=ЮрА=-
Заблокирован
Автор FAQ
07.07.2012, 12:10 #5
wizzzi, всё очень просто % - возвращает остаток от целочисленного деления
К примеру 5 % 2 = 1 т.е. 5 - 2*2 = 1 Аналогично 11%10 = 1 (11 - 1*10 = 1)
Теперь наверное ты недоумеваешь, а тут
Цитата Сообщение от wizzzi Посмотреть сообщение
b %= a;
что на что делиться если структура операнда такая
Число %Число а у нас Число % присваинвание Число.
Что ж тут нет ничего сложного, просто использована инверсная запись, т.е.
и строка b %= a равносильна b = b % a
1
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2012, 12:18 #6
Единственный момент, который здесь может быть не понятен - это когда a > b. В этом случае b%a равен b.
0
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
07.07.2012, 13:00 #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Единственный момент, который здесь может быть не понятен - это когда a > b. В этом случае b%a равен b.
а чего тут непонять? этож обычный остаток
0
wizzzi
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 12
07.07.2012, 17:33  [ТС] #8
Спасибо большое. Можно закрывать.
0
07.07.2012, 17:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2012, 17:33
Привет! Вот еще темы с ответами:

Не могу понять смысл "связные списки" - C++
Подскажите что значит односвязный, двусвязный, линейный списки,. каков их шаблон, и как работает?

Что означает и делает оператор ">>=" - C++
Глупый вопрос, но тем не менее. Что означает и делает оператор &quot;&gt;&gt;=&quot;. Может есть русское описание?

Что делает этот "код"? - C++
Здравствуйте. Что делает этот код? Пробовал запускать в разных компиляторах, с разными настройками выводит какой то бред.class A { ...

Не могу понять ошибку "C2043: недопустимый break". Задача: найти подстроку в строке - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; using namespace std; int...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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