""
int is_square(int y)
{
int x = 0;
while (x<=y)
{
if (y==1 || y==0)
{return 1;}
else if…
Вопрос
7 630
38
Работает с массивами и структурами, если передавать по значению, это вам не жасс. Небольшие структуры можно смело отправлять в стек
4
ничего не пон, а в чём проблема?
Ну я тут не понимаю разницы переменных которая выходит в качестве аргумента , и другой который объявляется внутри функций.

Ev3nt:
Я пока Стек не изучал , хотя знаю что это что-то связано с хранением памяти.В целом остальное понял. В будущем с более обширными знаниями вернусь к этому вопросу. Спасибо за ответ!
19
Принятый ответ
VuRdaLaK1337, в таком случае вот вам ответ. Если переменная записана в аргументах функции, то при стандартном вызове в C++ (_cdecl) все аргументы передаются через стэк. В случае, если вы объявляете переменную внутри функции, она может быть локальной - обнуляться при повторном вызове функции (не работает с массивами), либо статичной (при объявлении указано static). Статичная переменная в данном случае будет в области видимости этой функции, но при этом будет сохранять свои значения при повторном вызове. Пример:
#include <cstdio>

int a() {
	static int i = 0;
	printf("%d\n", i++);
	return i;
}

int main() {
	while(a() < 10);
	return 0;
}
4
А не проще было подключить math.h | cmath и оттуда вызывать функцию sqrt?
Всегда есть пути проще. Это зависит от навыков программиста как он запилит код быстрее , короче и тд. Я как видишь полный нуб. И это задание из курса , хотя стоило об этом упомянуть , спасибо что отписал.
19
А не проще было подключить math.h | cmath и оттуда вызывать функцию sqrt?
4
Очередной раз понимаю что я очень поспешный и гуглю плохо. Гуглил перед тем как задать вопрос 10 мин ответ не нашёл , Задал вопрос полистал пару минут и вуаля нашёл ответ. Всё просто Аргумент функций это его Аргумент , которые даётся из предыдущей функций либо Мейна либо еще где по крайней мере я так это понимаю , Переменную опеределяет только функция в котором она указана если мы говорим об локальной переменной , а в моём случае аргумент "y" нам давался из Мейна , и компилятор сам автоматом прописывает мейн мне остаётся написать только функцию определния квадрата. Надеюсь меня поняли :c
Если я что-то не правильно написал буду благодарен за исправление никак не претендую на истину. Просто высказал своё умозаключение.
Казалось бы , вроде итераций это не сложно да и циклы в целом. Понятие лёгкое однако чего я не понимаю это как происходят итераций и их количество я сделал Схемку где видно что по счёту от нуля до 10 , идёт переходов то есть Итераций 10 , а откуда тогда берется 11 Выполнений цикла?…
Вопрос
3 377
4
jass_dev:
Я понял в чём я тупил. Я прозрел если i<10 он после того как 10 настанет он не выполняет итерацию(выполнение мне приятнее говорить). А вот если <=
он даже когда оно равно 10 её выполнить тоже самое что i<11.
Как же я не шарю в логику это жесть)) Гуманитарий называется...
10
Принятый ответ
Итераций и выполнений ровно десять, более того это одно и то же. Посмотрите внимательней, вы начинаете с нуля.
i во время проверки: 0 1 2 3 4 5 6 7 8 9 10
i после проверки: 1 2 3 4 5 6 7 8 9 10 11
4
Я вот посмотрел что делает фор , если я правильно понял в самый первый раз он с переменной ничего не делает. Хотя непонятно почему. Тут понятно почему лишняя итерация , точнее больше задуманного
Загруженные файлы