Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 10
1

Что означает %k в данном случае?

14.11.2012, 21:08. Показов 3955. Ответов 6
Метки нет (Все метки)

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
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
int i,j,k;
cout<<"razmer massiva:"<<endl;
cin>>k;
int *mas=new int[k];
int *mas1=new int[k];
for (i=0;i<k;i++)
{
cout<<"vvedite element a["<<i<<"]: ";
cin>>mas[i];
}
 
cout <<"Vvesti smeschenie: "; 
cin >>j;
for (int i=0; i<k; i++) 
{
mas1[i] = mas[(i+j)%k];
cout<<mas1[i]<<' ';
}
delete []mas;
delete []mas1;
}
что такое %k??
надо циклически передвинуть элементы массива на n позиций вправо
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2012, 21:08
Ответы с готовыми решениями:

Что в данном случае означает friend?
Всем доброй ночи! Помню, кода-то очень давно мельком видел, что кто-то уже спрашивал аналогичный...

Как работают вложенные структуры? Что это означает в данном случае?
Вот, собственно, часть кода: ... //--type for string--// struct str { char A; int...

Что означает в данном случае символ "&"?
Объясните, пожалуйста, что значит символ &amp; в данной строке: boll MyFunction(string MyVar, MyArr&amp;...

Что означает & в моём случае
Доброго утра/дня/вечера/ночи Учусь работать с памятью и попутно с Cheat Engine Имеется пример:...

6
1317 / 979 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
14.11.2012, 21:16 2
деление с остатком на k
0
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 10
14.11.2012, 21:29  [ТС] 3
Цитата Сообщение от David Sylva Посмотреть сообщение
деление с остатком на k
спасибо, но в задании нужно передвинуть массив на n позиций, при сдвиге массива 1 2 3 4 5 на 2 получается результат 3 4 5 1 2, но если убрать %k то 3 4 5 -3368019 1564454441, вот. Преподаватель сказал что нужен %k, а я, если честно, не совсем понимаю зачем он там
0
1317 / 979 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
14.11.2012, 21:45 4
Ну смотри, дело вот в чём, так определяется индекс массива, который будет присваиваться. Например первая итерация цикла mas1[i] = mas[(i+j) % k];
Получается так mas1[0] = mas[(0+2) % 5];
соответственно (0+2) % 5 получается 2.

Добавлено через 3 минуты

Не по теме:

Преподавателю скажи, что писать void main() не корректно.

1
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 10
14.11.2012, 22:15  [ТС] 5
Цитата Сообщение от David Sylva Посмотреть сообщение
Ну смотри, дело вот в чём, так определяется индекс массива, который будет присваиваться. Например первая итерация цикла mas1[i] = mas[(i+j) % k];
Получается так mas1[0] = mas[(0+2) % 5];
соответственно (0+2) % 5 получается 2.

Добавлено через 3 минуты

Не по теме:

Преподавателю скажи, что писать void main() не корректно.




То есть 2 не надо делить на 5?)) Спасибо вам огромное)
0
1317 / 979 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
14.11.2012, 22:20 6
Как же тебе объяснить? Номер индекса определяется вот таким выражением (i+j) / k, подставляй сюда значения, которые есть в программе для каждого повторения цикла и будут получатся индексы массива.
1
Модератор
Эксперт по электронике
8516 / 6331 / 858
Регистрация: 14.02.2011
Сообщений: 21,997
14.11.2012, 23:05 7
Цитата Сообщение от ffice Посмотреть сообщение
То есть 2 не надо делить на 5?
остаток от деления это то что осталось
int это целочисленный тип и всяких дробей он содержать не может
т.е разделив 3 на 2 получим 1 и если заново умножить результат на 2 то мы не получим 3(потому что в остатке была 1 а мы её потеряли)
вот табличка деления чисел на 3
х/3 / %
0/3 0 0
1/3 0 1
2/3 0 2
3/3 1 0
4/3 1 1
5/3 1 2

иногда это называется "Делить по модулю"
можно проверить этим кратность числу если остаток равен 0 то делитель кратен делимому
например проверить четное число или нет
C++
1
2
3
4
if(x%2==0)
 //четное
else
//нечетное
в жизни это правило(деление по модулю)
используется в определении времени
например в 14 часов мы говорим 2 часа
14%12=2

Добавлено через 6 минут
Цитата Сообщение от ffice Посмотреть сообщение
То есть 2 не надо делить на 5?))
Цитата Сообщение от David Sylva Посмотреть сообщение
(0+2) % 5 получается 2.
тот же результат получится
(5+2) % 5 получается 2.
(10+2) % 5 получается 2.
(0+7) % 5 получается 2.
(5+7) % 5 получается 2.
ну и так далее
остаток никогда не будет превышать 5

Добавлено через 3 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
14%12=2
это хорошо известно ученикам начальной школы, а потом когда научатся десятичным дробям, почему то многие забывают, что такое остаток от деления
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2012, 23:05

Что означает pos ^= 1 в данном коде?
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #define FILE_NAME &quot;numbers.txt&quot; int...

Что означает символ t в данном вариативном шаблоне?
Полный код: #include &lt;iostream&gt; template &lt;typename T&gt; struct NameOf {}; #define...

что означает %k в данном случае?
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void main() { int i,j,k;...

Что означает this в данном контексте?
Привет дорогие киберфорумцы. Нашел код который меня поверг в замешательство. Вот от окаянный: ...


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

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

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