Art of Code
2.12K subscribers
42 photos
1 file
62 links
По вопросам: @vice22821

Чат: @code_of_art
Download Telegram
Задача с собеса в Yandex

Напишите код, который вернёт медиану из трёх чисел. Уточните определение медианы, если человек не знает.

//Интерфейс
int median3(int v1, int v2, int v3)
{
//реализация
}

assert(3 == median(2,5,3))
assert(2 == median3(2,2,1))

Решение:

#include <algorithm>

int median3(int v1, int v2, int v3) {
int arr[] = {v1, v2, v3};
std::sort(arr, arr + 3);
return arr[1];
}


@codeof_art
🤯22🗿51
Задача с собеса в Яндекс

Что будет, если попытаться скомпидировать, а потом попытаться запустить следующую программу?

#include <cstdio>
#include <cstdlib>

int main() {
printf("%d\n", ((int*|2)+3);
return EXIT_SUCCESS;
}


Решение: Ошибка компиляции из-за:

Неправильного оператора | между int* и 2.

Несоответствия формата %d и типа int*.

Если исправить синтаксис:

printf("%d\n", ((int*)2)+3 );
Компилятор выдаст предупреждение о несоответствии %d и int*.

При запуске — неопределённое поведение.


Верное решение:
printf("%d\n", 2 + 3); // Выведет 5


@codeof_art
🗿10