использовать Чертежник
алг
нач
сместиться в точку (2,4)
б
а
о
б
а
б
кон
алг б
нач
опустить перо
сместиться на вектор (-2,0)
сместиться на вектор (0,-4)
сместиться на вектор (2,0)
сместиться на вектор (0,2)
сместиться на вектор (-2,0)
поднять перо
сместиться на вектор (3,-2)
кон
алг а
нач
опустить перо
сместиться на вектор (0,2)
сместиться на вектор (2,2)
сместиться на вектор (0,-4)
сместиться на вектор (0,1)
сместиться на вектор (-2,0)
поднять перо
сместиться на вектор (5,3)
кон
алг о
нач
опустить перо
сместиться на вектор (-2,0)
сместиться на вектор (0,-4)
сместиться на вектор (2,0)
сместиться на вектор (0,4)
поднять перо
сместиться на вектор (3,0)
кон
Объяснение:
картинка
#include <iostream>
int main() {
const int SIZE = 10;
bool isSence = false;
int sum = 0;
int count = 0;
int arr[SIZE];
for (int i = 0; i < SIZE; i++)
{
arr[i] = rand() % 20 - 10; // "рандомно" заполняем массив от -10 до 10
std::cout << arr[i] << "\t"; // выводим массив в консоль
if (arr[i] >= 0)
isSence = true;
}
for (int i = 0; i < SIZE; i++)
{
if ((isSence) && (arr[i] > 0))
sum += arr[i]; //sum = sum + arr[i];
count++;
}
if (isSence)
std::cout << "\nсреднее арифметическое положительных чисел = " << double(sum) / count << std::endl; // явное приведение типов
else
std::cout << "\nВ массиве нету положительных чисел или нету нулей и/или отрицательных чисел" << std::endl;
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Include <iostream.h> int f(int a, int*b, int&c){ return(++a+++(*b)+c++);} int main(){ int a(3), b(1), c(2); int z=f(c, &b, a); cout<<a<<b<<c<<z<<endl; cin.get();}
Преобразуем выражение в (++a)+(++(*b))+(c++).
Сигнатура функции f(int a, int *b, int &c). Первая переменная приходит по значению, вторая - по указателю, третья - по ссылке. Это значит, что изменения переменных b и с в функции будут влиять на переданные переменные.
Итак, мы имеем переменные
a = 3; b = 1; c = 2;
Передаём переменные в функцию как f(c, &b, a). Здесь а и с меняются местами.
В функции получаем
a = 2; b = 1; c = 3;
++a - увеличивает переменную на 1 и возвращает 3. a = 3
++(*b) - увеличивает переменную на 1 и возвращает 2. b = 2
с++ - возвращает 3 и увеличивает переменную на 1. с = 4.
Получаем return 3 + 2 + 3 (=8)
Переменные перед выходом
a = 3; b = 2; c = 4;
Выходим из функции. Не забываем про связь между переменными в вызове f(c, &b, a).
Значит после выхода переменные равны
a = 4; b = 2; c = 2 (передавалась по значению);
z = 8.
На выход будет подано 4228.