В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

Pascal ABC!
1. Дан массив X размером N. Сформировать новый массив таким образом, чтобы сначала
располагались все ненулевые элементы, затем все элементы, равные нулю.
2. Заполнить вводом с клавиатуры численный массив за исключением последнего элемента, вывести его на экран. За еще одно значение и его позицию в массиве. Вставить указанное число в заданную позицию, подвинув элементы после него.

Показать ответ
Ответ:
24051999z
24051999z
26.07.2020 21:35

Преобразуем выражение в (++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.

0,0(0 оценок)
Ответ:
Vikatyn
Vikatyn
23.07.2020 05:32

Если как на скрине, то E) 41325

В коде который написан текстом есть ошибки.

Объяснение:

Если исправить ошибку в условии заменой cout на std::cout, то:

Индексы массива начинаются с 0. Т.е.

mas[0] == 1;

mas[1] == 3;

mas[2] == 2;

mas[3] == 5;

mas[4] == 4;

На скрине расписал назначение каждой конкретной строчки.

Пройдем по итерациям первого цикла. Для краткости буду обозначать смену значений swap()

i=3; swap(mas[3], mas[4]) mas == {1,3,2,4,5}

i=2; swap(mas[2], mas[3]) mas == {1,3,4,2,5}

i=1; swap(mas[1], mas[2]) mas == {1,4,3,2,5}

i=0; swap(mas[0], mas[0]) mas == {4,1,3,2,5}

Второй цикл просто выводит массив поэтому на экран будет выедено

41325

============  

Не забывайте нажать " ", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"

Успехов в учебе


#include <iostream.h> #include <math.h>int main(){ const int n = 5; int mas[n] = (1, 3,
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота