CodeLab
145 subscribers
538 photos
20 videos
159 links
Говорим просто о сложном

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
👨🏼‍💻 Всем новоприбывшим бойцам привет! Уверен, что канал вам обязательно зайдет, написано тут уже немало, главное — это ваше желание!

И главная рекомендация, это НАВИГАЦИЯ. Я ее писал не просто так, она еще в процессе доработок, но уже пользоваться ей очень удобно! Приятного использования канала гайс ❤️
🥰3
👀
🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
🧑‍💻 Ииитак, давайте начнем утро с кода на C, чисто голову размять.


🌶 Допустим, перед вами стоит задача написать код на поиск элемента в массиве (Типо вводите вы сначала 10 элементов в массив, а затем элемент, который нужно найти. По итогу, программа выводит его индекс). Давайте решать

0️⃣🔗 Для начала, прописываем 🟰#include <stdio.h>🟰 — это мы подключаем библиотеку для ввода-вывода данных (Она отвечает за такие функции в C, как printf() и scanf())

1️⃣ Следующая строчка: 🟰const int N = 10;🟰 — здесь 🟰const🟰 говорит нам о том, что это константа и ее значение (10) дальше не будет изменено, а 🟰int N = 10;🟰 — это переменная типа int со значением 10. (Этой строкой мы ес че задаем размер нашего массива).

2️⃣ Естественно, нам нужно объявить главную функцию нашего кода 🟰int main()🟰

3️⃣ Открываем фигурную скобку, следовательно следующий блок кода будет с отступом. Объявляем переменную, пусть будет flag — она и будет служить флагом в нашем коде

🔗 Если вы не поняли, зачем нужен флаг в коде, то объясняю:

⭕️ Изначально у нас переменная flag будет равна 0 (Пока что элемент не найден).

⭕️ Если в ходе выполнения кода происходит успешный поиск, то есть, введенный элемент найден в нашем массиве flag изменяется на 1.

⭕️ В конце еще будет проверка значения нашей переменной (Тип если 1, то выводим, что элемент найден, если 0, то не найден).

4️⃣❗️ Объявляем переменные: 🟰int i, X, A[N];🟰 (i это переменная - счетчик цикла для перебора индекса массива), (x — это элемент, который нам нужно найти), (A[N] — массив из 10 целых чисел)

5️⃣ Пусть код нам выведет строку, чтобы мы могли вводить наши элементы массива: 🟰printf("Введите 10 элементов массива:\n");🟰

6️⃣ for (i = 0; i < N; i++) {   
scanf("%d", &A[i]);
}


🔗 Итак, че тут происходит? Это у нас цикл для ввода 10 элементов массива (i в цикле будет принимать значения от 0 до 9, если N = 10).

🔗 scanf() — это функция для ввода данных (как input() в Python),

🔗 (&A[i] — это адрес i-го элемента массива A (Вы вводите значение и оно будет сохранено по этому адресу).

🔗 %d — это спецификатор формата, который говорит printf, что на этом месте в строке нужно подставить целое число. (Это я взял с прошлого поста по C, легко можно найти по навигации в закрепе)

7️⃣‼️ Итак, что мы имеем? На данном этапе у нас есть код, который запрашивает у нас 10 элементов и заполняет ими массив. Идем дальше ↓

printf("Введите значение X: ");
scanf("%d", &X);


🔗 После этих строк мы увидим, что нас просят ввести искомый элемент, мы его и вводим

8️⃣ Снова прописываем цикл, который перебирает все элементы массива 🟰for (i = 0; i < N; i++) {🟰

    for (i = 0; i < N; i++) {
if (A[i] == X) { // если нашли, то...
flag = 1; // устанавливаем флаг
break; // выход из цикла
}
}


🔗 if (A[i] == X) { условный оператор мы уже знаем, а если не знаем, то заходим в навигацию и чекаем базовые знания по Python (Условный оператор проверяет, что, если текущий элемент массива равен X (искомому элементу, то flag = 1))

🔗 flag = 1; — теперь flag равен 1 (Опять же, если элемент найден)

🔗 break для выхода их цикла

9️⃣ Последний условный оператор:

    if (flag) {
printf("Элемент %d найден на позиции %d.\n", X, i);
} else {
printf("Элемент не найден.\n");
}


🔗 То есть, если элемент найден (А найден он, если flag = 1), то выводим сообщение, что элемент найден и указываем его индекс.

🔗 Иначе, если элемент не найден (flag = 0). то так и выводим..


1️⃣0️⃣🔗 Код:

#include <stdio.h>
const int N = 10;
int main() {
int flag = 0;
int i, X, A[N];

printf("Введите 10 элементов массива:\n");
for (i = 0; i < N; i++) {
scanf("%d", &A[i]);
}

printf("Введите значение X: ");
scanf("%d", &X);

for (i = 0; i < N; i++) {
if (A[i] == X) { //если нашли элемент, то flag = 1
flag = 1;
break;
}
}

if (flag) {
printf("Элемент %d найден на позиции %d.\n", X, i);
} else {
printf("Элемент не найден.\n");
}

return 0;
}
👍1🥰1🤯1
👀
🤯2
CodeLab
🧑‍💻 Два классификатора, которые у нас получились, хороши по-своему, но есть недостатки... ❗️ Модель 4 предполагала бы, что письмо, отправленное в выходные и имеющее вес больше 10 Кбайт — SCAM, в противном случае — полезное. ❗️ Модель 5 предполагала бы,…
👀 Что насчет модели 6? Можно присвоить номера дням недели по порядку: типо понедельник — 0, вторник — 1 и т.д до воскресения с номером 6.

⭕️ Отбор будет следующим: если сложим порядковый номер дня недели с весом сообщения и оно будет превышать 12 (>=12), то письмо — SCAM, у нас письма по выходным должны весить по сути не больше 6 кб.
👍3
‼️ Итак, гайс, разбираем дальше Stepik, как по мне, это лучший старт для понимания языка. Но, есть один момент, Вам надо проголосовать 🔗‼️
🤯1
https://t.me/CodeLabChatting
А еще у нас есть чат, можете туда все писать
👍1
🧑‍💻 Количество чисел 7.3

Итак, ща будем думать че тут делать:

⭕️ Допустим, подаются два целых числа, возьмем с примера, 1 и 10 (включительно — это запомним), Дак вот, если каждое число в диапазоне будет возводится в куб, там нам нужно посчитать сколько чисел оканчиваются на 4 и 9 (вроде не сложно).

a, b = int(input()), int(input())

count = 0
for i in range(a, b + 1):
if i ** 3 % 10 == 4 or i ** 3 % 10 == 9:
count += 1

print(count)


Начнем с того, что диапазон заканчивается 'включительно', значит: 🟰b + 1🟰

Ну, и прописываем условный оператор просто по нашему заданию, Возводим в кубическую степень и делим по модулю, чтобы узнать, оканчивается число на 4 или 9, или нет.
👍1
🔗 Количество чисел 7.3

Просто коротко пройдемся по решению чувака с коментов, чисто улучшение наших навыков 😋

Итак, что тут меняется По сути, только условный оператор. У нас тут оператор in и список из двух элементов [4,9]
a, b, count = int(input()), int(input()), 0

for i in range(a, b + 1):
if i**3 % 10 in [4, 9]:
count += 1

print(count)
👍1
Теперь пару тестов, чтобы вы на расслаблялись 👀
👍1
#1 Даже похоже немного с нашим заданием, сидите думайте:

🔗 Подаем 1 и 9, то есть от диапазон будет от 1 до 9 (включительно)


a, b = int(input()), int(input())

total = 0
for i in range(a, b + 1):
if i % 3 == 0 and i % 5 != 0:
total += i

print(total)
👍1
#1 Какой будет ответ (Подаем 1 и 9)
Anonymous Quiz
0%
21
0%
17
0%
32
40%
24
0%
15
60%
18
0%
26
👍1
#2 Подается число 2145680, какой будет ответ?

n = int(input())

total = 0
while n > 0:
digit = n % 10
if digit % 2 == 0:
total += digit
n //= 10

print(total)
👍1
#2 Какой будет ответ?
Anonymous Quiz
0%
12
43%
20
14%
10
14%
8
29%
6
0%
14
0%
24
👍1🤯1
Пока что всего по 33 процента) Давайте добьем что-ли.
👍1👀1