• ❓Решение отправлено
    • 15846 id
    • 300.0 ₽
    • 20.0%
Валентин Витринский
  • S:19:03:32 01.05
  • R:19:03:37 01.05
По заказу 15846 Предложение от исполнителя №252 ❗Работает недавно❗ 📚 Информатика 💰 1000 ₽ 💬 : Давай посмотрю
SYSTEM
  • S:19:04:00 01.05
  • R:19:04:04 01.05
  • Александр Котляр начал диалог с Валентин Витринский
    Валентин Витринский
    • S:19:04:05 01.05
    • R:19:04:09 01.05
    Исполнитель пока не зашел в беседу При длительном отсутствии специалиста в чате пишите администратору https://vk.com/p0m0shnik
    Александр Котляр
  • S:19:04:05 01.05
  • R:19:04:13 01.05
  • Привет
    Валентин Витринский
    • S:19:04:12 01.05
    • R:19:04:15 01.05
    🤖:Все подключились. Не забудь поздороваться)
    Валентин Витринский
    • S:19:04:19 01.05
    • R:19:04:23 01.05
    Привет
    Александр Котляр
  • S:19:04:23 01.05
  • R:19:04:26 01.05
  • Привет
    Александр Котляр
  • S:19:04:27 01.05
  • R:19:04:29 01.05
  • Подожди
    Валентин Витринский
    • S:19:04:27 01.05
    • R:19:04:30 01.05
    Что за дз
    Александр Котляр
  • S:19:04:33 01.05
  • R:19:04:35 01.05
  • По поводу цены
    Александр Котляр
  • S:19:04:39 01.05
  • R:19:04:48 01.05
  • Там задача одна
    Александр Котляр
  • S:19:04:47 01.05
  • R:19:04:50 01.05
  • Просто весь код я написал
    Александр Котляр
  • S:19:04:55 01.05
  • R:19:04:57 01.05
  • И проблемка появилась
    Александр Котляр
  • S:19:05:24 01.05
  • R:19:05:25 01.05
  • Язык си если что
    Валентин Витринский
    • S:19:05:30 01.05
    • R:19:05:34 01.05
    Ты в визуал Студио писал ?
    Александр Котляр
  • S:19:05:38 01.05
  • R:19:05:40 01.05
  • Да
    Валентин Витринский
    • S:19:05:38 01.05
    • R:19:05:48 01.05
    В курсе
    Валентин Витринский
    • S:19:05:50 01.05
    • R:19:05:55 01.05
    Что за проблемка
    Александр Котляр
  • S:19:05:56 01.05
  • R:19:05:58 01.05
  • Не могу разобраться как мне организовать ввод массива по концевому признаку. В качестве концевого признака выступает любая ошибка, которая возникает при очередном вводе значения с помощью функции scanf. Например, при вводе последовательности 1 2 3 a должен быть сформирован массив из трёх элементов со значениями 𝐴[0] = 1, 𝐴[1] = 2, 𝐴[2] = 3. В случае, если массив уже заполнен, а концевой признак ещё не наступил, ввод элементов в массив прекращается. Такое «переполнение» не считать ошибкой: про грамма должна обработать полученный массив из десяти элементов, но функция main в такой ситуации должна вернуть специальный код возврата, равный 100. Упорядочить массив по возрастанию с помощью сортировки вставками (англ. Insertion Sort) и вывести на экран. #include <stdio.h> #define N 10 #define GOOD 0 #define ERROR_IO 1 #define ERROR_N 2 #define END_OF_INPUT 100 int input_an_array(int arr[], size_t n) { int value; int i; for (i = 0; i < n; i++) { if (scanf(*%d*, &value) != 1) { return END_OF_INPUT; // Обрываем ввод при любой ошибке ввода } arr[i] = value; } return GOOD; } void insertion_sort(int arr[], int n) { int i, j, key; for (i = 1; i < n; i++) { key = arr[i]; j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j = j - 1; } arr[j + 1] = key; } } void output_array(int arr[], size_t n) { for (int i = 0; i < n; i++) { printf(*%d *, arr[i]); } printf(*\n*); } int main() { int n; int arr[N]; printf(*Enter array elements:\n*); int input_result_array = input_an_array(arr, N); if (input_result_array == END_OF_INPUT) { printf(*End of input. Sorted array:\n*); insertion_sort(arr, N); output_array(arr, N); return END_OF_INPUT; } insertion_sort(arr, N); printf(*Sorted array:\n*); output_array(arr, N); return 0; }
    Александр Котляр
  • S:19:06:02 01.05
  • R:19:06:04 01.05
  • вот
    Валентин Витринский
    • S:19:06:36 01.05
    • R:19:06:39 01.05
    А что отладчик выдает
    Валентин Витринский
    • S:19:06:58 01.05
    • R:19:07:02 01.05
    Задание задачи кинь
    Александр Котляр
  • S:19:08:07 01.05
  • R:19:08:09 01.05
  • ошибка заключается в том что при вводе большое количества элементов у меня не возвращает код возврата 100, но сортирует, а если я меньше ввожу элементов, то он выводи код возврата и сортирует, но появляется мусор
    Валентин Витринский
    • S:19:08:39 01.05
    • R:19:08:44 01.05
    Задачу саму кинь
    Александр Котляр
  • S:19:10:35 01.05
  • R:19:10:37 01.05
  • При решении каждой задачи реализуйте программу, которая принимает у пользо вателя элементы целочисленного статического массива и выполняет его обработку в соответствии с вариантом. Максимальное количество элементов, которое может ввести пользователь, равно десяти. Необходимо организовать ввод массива по концевому признаку. В качестве кон цевого признака выступает любая ошибка, которая возникает при очередном вводе значения с помощью функции scanf. Например, при вводе последовательности 1 2 3 a должен быть сформирован массив из трёх элементов со значениями 𝐴[0] = 1, 𝐴[1] = 2, 𝐴[2] = 3. В случае, если массив уже заполнен, а концевой признак ещё не наступил, ввод элементов в массив прекращается. Такое «переполнение» не считать ошибкой: про грамма должна обработать полученный массив из десяти элементов, но функция main в такой ситуации должна вернуть специальный код возврата, равный 100. Упорядочить массив по возрастанию с помощью сортировки вставками (ан гл. Insertion Sort) и вывести на экран 1.Статические массивы следует отличать от массивов переменной длины (ан гл. Variable Length Array, VLA). Во избежание случайного использования по следних при компиляции программы необходимо указывать ключ Wvla. 2. Для реализации каждой из задач этой лабораторной работы необходимо выде лить несколько осмысленных функций. Необходимо предусмотреть обработку ошибочных ситуаций. 3. Под вводом массива подразумевается, если не указано иное, ввод количества вводимых элементов и самих элементов по порядку. Ввод неверного количества элементов следует считать исключительной ситуацией. 4. Под выводом массива подразумевается вывод его элементов без указания их общего количества. 5. Ситуации, когда решение задачи не может быть получено, следует считать исключительными. Например, если нужно подсчитать количество чётных эле ментов массива, а таких элементов в массиве нет. Помните, что в случае возникновения ошибочной ситуации программа должна не только выдавать соответствующее сообщение, но и возвращать ненулевой код возврат
    Александр Котляр
  • S:19:12:59 01.05
  • R:19:13:02 01.05
  • понял?
    Валентин Витринский
    • S:19:16:00 01.05
    • R:19:16:06 01.05
    Отправил 1 вложений
    Валентин Витринский
    • S:19:16:06 01.05
    • R:19:16:09 01.05
    Щас попробую
    Александр Котляр
  • S:19:16:41 01.05
  • R:19:16:44 01.05
  • Хахахах
    Александр Котляр
  • S:19:16:40 01.05
  • R:19:16:49 01.05
  • Ничего не слышу
    Александр Котляр
  • S:19:33:47 01.05
  • R:19:33:50 01.05
  • понял?
    Валентин Витринский
    • S:19:34:06 01.05
    • R:19:34:10 01.05
    Разбираюсь
    Александр Котляр
  • S:20:35:12 01.05
  • R:20:35:14 01.05
  • ?
    Валентин Витринский
    • S:20:35:32 01.05
    • R:20:35:35 01.05
    Тут хуйня какая то пока
    Валентин Витринский
    • S:20:35:37 01.05
    • R:20:35:40 01.05
    Разбираюсь
    Александр Котляр
  • S:20:35:49 01.05
  • R:20:35:52 01.05
  • Согласен
    Александр Котляр
  • S:20:35:46 01.05
  • R:20:35:55 01.05
  • Ахахахах
    Александр Котляр
  • S:21:12:46 01.05
  • R:21:12:49 01.05
  • никак?
    Валентин Витринский
    • S:21:12:56 01.05
    • R:21:12:59 01.05
    Пока нет
    Александр Котляр
  • S:21:13:04 01.05
  • R:21:13:06 01.05
  • печально
    Валентин Витринский
    • S:21:30:14 01.05
    • R:21:30:17 01.05
    Ищи другого
    Александр Котляр
  • S:21:30:47 01.05
  • R:21:30:50 01.05
  • Я тоже ищу другого...
    Александр Котляр
  • S:21:30:51 01.05
  • R:21:30:54 01.05
  • невыносимо
    Валентин Витринский
    • S:21:31:10 01.05
    • R:21:31:16 01.05
    Что невыносимо
    Валентин Витринский
    • S:21:31:25 01.05
    • R:21:31:29 01.05
    Я не знаю пока как это сделать
    Александр Котляр
  • S:21:31:49 01.05
  • R:21:31:51 01.05
  • невоносимо, что сложная задача)
    Валентин Витринский
    • S:21:33:15 01.05
    • R:21:33:18 01.05
    #include <stdio.h> #include <stdlib.h> #define MAX_SIZE 10 void insertion_sort(int arr[], int n) { int i, j, temp; for (i = 1; i < n; i++) { temp = arr[i]; j = i - 1; while (j >= 0 && arr[j] > temp) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = temp; } } int main() { int arr[MAX_SIZE]; int n = 0; int retval = 0; printf(*Enter array elements (press any non-digit to stop):\n*); while (n < MAX_SIZE) { if (scanf(*%d*, &arr[n]) != 1) { break; } n++; } if (n == MAX_SIZE) { retval = 100; } insertion_sort(arr, n); printf(*Sorted array: *); for (int i = 0; i < n; i++) { printf(*%d *, arr[i]); } printf(*\n*); return retval; }
    Валентин Витринский
    • S:21:33:22 01.05
    • R:21:33:26 01.05
    Попробуй у себя
    Валентин Витринский
    • S:21:35:57 01.05
    • R:21:36:03 01.05
    #include <stdio.h> #define N 10 #define GOOD 0 #define ERROR_IO 1 #define ERROR_N 2 #define END_OF_INPUT 100 int input_an_array(int arr[], size_t n) { int value; int i = 0; while (i < n) { if (scanf(*%d*, &value) != 1) { // Если произошла ошибка ввода, выходим из цикла break; } arr[i++] = value; } return i < n ? GOOD : END_OF_INPUT; } void insertion_sort(int arr[], int n) { int i, j, key; for (i = 1; i < n; i++) { key = arr[i]; j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j = j - 1; } arr[j + 1] = key; } } void output_array(int arr[], size_t n) { for (int i = 0; i < n; i++) { printf(*%d *, arr[i]); } printf(*\n*); } int main() { int arr[N]; printf(*Enter array elements:\n*); int input_result = input_an_array(arr, N); if (input_result == END_OF_INPUT) { printf(*End of input. Sorted array:\n*); } else { printf(*Sorted array:\n*); } int n = input_result == END_OF_INPUT ? N : input_result; insertion_sort(arr, n); output_array(arr, n); return input_result; }
    Валентин Витринский
    • S:21:36:08 01.05
    • R:21:36:12 01.05
    Вот это попробуй
    Александр Котляр
  • S:21:36:31 01.05
  • R:21:36:34 01.05
  • да емаё
    Александр Котляр
  • S:21:36:36 01.05
  • R:21:36:38 01.05
  • только отредачил
    Александр Котляр
  • S:21:36:37 01.05
  • R:21:36:40 01.05
  • ахахахах
    Валентин Витринский
    • S:21:36:55 01.05
    • R:21:37:00 01.05
    Ну че ?
    Александр Котляр
  • S:21:38:30 01.05
  • R:21:38:32 01.05
  • первый работает
    Валентин Витринский
    • S:21:38:51 01.05
    • R:21:38:56 01.05
    Так как надо ?
    Александр Котляр
  • S:21:40:34 01.05
  • R:21:40:36 01.05
  • да
    Валентин Витринский
    • S:21:40:52 01.05
    • R:21:40:56 01.05
    А 2 ?
    Александр Котляр
  • S:21:40:54 01.05
  • R:21:40:56 01.05
  • ты можешь мне зип файл отправить?
    Александр Котляр
  • S:21:41:01 01.05
  • R:21:41:04 01.05
  • 2
    Валентин Витринский
    • S:21:41:02 01.05
    • R:21:41:05 01.05
    Не
    Валентин Витринский
    • S:21:41:27 01.05
    • R:21:41:32 01.05
    Так первый или второй работают
    Валентин Витринский
    • S:21:41:30 01.05
    • R:21:41:35 01.05
    ?
    Валентин Витринский
    • S:21:41:40 01.05
    • R:21:41:44 01.05
    Я уже стер код ?
    Александр Котляр
  • S:21:42:03 01.05
  • R:21:42:05 01.05
  • первый работает
    Александр Котляр
  • S:21:42:10 01.05
  • R:21:42:12 01.05
  • смотрю второй
    Александр Котляр
  • S:21:45:34 01.05
  • R:21:45:36 01.05
  • Отправил 1 вложений
    Александр Котляр
  • S:21:45:55 01.05
  • R:21:45:58 01.05
  • во втором случае не работает сортировка
    Александр Котляр
  • S:21:47:34 01.05
  • R:21:47:36 01.05
  • ну значение он возвращает правильно
    Александр Котляр
  • S:21:47:38 01.05
  • R:21:47:41 01.05
  • а вот ответ
    Александр Котляр
  • S:21:47:40 01.05
  • R:21:47:42 01.05
  • нет
    Валентин Витринский
    • S:21:50:46 01.05
    • R:21:50:50 01.05
    странно
    Валентин Витринский
    • S:21:50:53 01.05
    • R:21:50:58 01.05
    #include <stdio.h> #define N 10 #define GOOD 0 #define ERROR_IO 1 #define ERROR_N 2 #define END_OF_INPUT 100 int input_an_array(int arr[], size_t n) { int value; int i = 0; while (i < n) { if (scanf(*%d*, &value) != 1) { // Если произошла ошибка ввода, выходим из цикла break; } arr[i++] = value; } return i < n ? GOOD : END_OF_INPUT; } void insertion_sort(int arr[], int n) { int i, j, temp; for (i = 1; i < n; i++) { temp = arr[i]; j = i - 1; while (j >= 0 && arr[j] > temp) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = temp; } } void output_array(int arr[], size_t n) { for (int i = 0; i < n; i++) { printf(*%d *, arr[i]); } printf(*\n*); } int main() { int arr[N]; printf(*Enter array elements:\n*); int input_result = input_an_array(arr, N); if (input_result == END_OF_INPUT) { printf(*End of input. Sorted array:\n*); } else { printf(*Sorted array:\n*); } int n = input_result == END_OF_INPUT ? N : input_result; insertion_sort(arr, n); output_array(arr, n); return input_result; }
    Валентин Витринский
    • S:21:50:57 01.05
    • R:21:51:01 01.05
    а так
    Александр Котляр
  • S:21:54:55 01.05
  • R:21:54:57 01.05
  • всё равно не отображается
    Валентин Витринский
    • S:21:55:19 01.05
    • R:21:55:23 01.05
    странно
    Александр Котляр
  • S:22:03:20 01.05
  • R:22:03:23 01.05
  • короче
    Александр Котляр
  • S:22:03:24 01.05
  • R:22:03:25 01.05
  • есть идея
    Александр Котляр
  • S:22:03:52 01.05
  • R:22:03:54 01.05
  • if (scanf(*%d*, &value) != 1) { // вот тут пересоздавать массив return END_OF_INPUT; // Обрываем ввод при любой ошибке ввода } arr[i] = value;
    Александр Котляр
  • S:22:04:11 01.05
  • R:22:04:13 01.05
  • это ещё мой старый код
    Александр Котляр
  • S:22:05:57 01.05
  • R:22:05:59 01.05
  • как идея?
    Александр Котляр
  • S:22:07:17 01.05
  • R:22:07:20 01.05
  • м?
    Александр Котляр
  • S:22:09:34 01.05
  • R:22:09:36 01.05
  • ты тут
    Валентин Витринский
    • S:22:10:23 01.05
    • R:22:10:27 01.05
    пробуй
    Александр Котляр
  • S:22:22:45 01.05
  • R:22:22:47 01.05
  • нет
    Александр Котляр
  • S:22:22:49 01.05
  • R:22:22:51 01.05
  • не получилось
    Александр Котляр
  • S:22:22:55 01.05
  • R:22:22:57 01.05
  • а у тебя как?
    Валентин Витринский
    • S:22:24:48 01.05
    • R:22:24:51 01.05
    хз что придумать
    Александр Котляр
  • S:23:12:31 01.05
  • R:23:12:33 01.05
  • не придумал?
    Валентин Витринский
    • S:23:13:20 01.05
    • R:23:13:24 01.05
    Нет
    Валентин Витринский
    • S:23:13:35 01.05
    • R:23:13:38 01.05
    Завтра че нить придумаю
    Александр Котляр
  • S:01:22:47 02.05
  • R:01:22:49 02.05
  • Короче
    Александр Котляр
  • S:01:22:51 02.05
  • R:01:22:53 02.05
  • Я решил
    Валентин Витринский
    • S:01:25:04 02.05
    • R:01:25:08 02.05
    И как
    Валентин Витринский
    • S:01:25:12 02.05
    • R:01:25:17 02.05
    ???
    Валентин Витринский
    • S:01:25:42 02.05
    • R:01:25:45 02.05
    За попытку помочь кинь 300 на 89852952650
    Александр Котляр
  • S:01:25:53 02.05
  • R:01:25:55 02.05
  • int input_an_array(int arr[], int *actual_size) { int value; *actual_size = 0; for (int i = 0; i <= N; i++) { if (scanf(*%d*, &value) != 1) return GOOD; if (*actual_size == N) return END_OF_INPUT; arr[*actual_size] = value; (*actual_size)++; } return GOOD; } void insertion_sort(int arr[], int n) { for (int i = 1; i < n; i++) { int key = arr[i]; int j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j = j - 1; } arr[j + 1] = key; } } void output_array(int arr[], int n) { for (int i = 0; i < n; i++) { printf(*%d *, arr[i]); } printf(*\n*); } int main() { int arr[N], actual_size; printf(*Enter array elements:\n*); int input_result = input_an_array(arr, &actual_size); if (input_result == END_OF_INPUT) { printf(*End of input detected before array was fully populated.\n*); } printf(*Sorted array:\n*); insertion_sort(arr, actual_size); output_array(arr, actual_size); return input_result == END_OF_INPUT ? END_OF_INPUT : GOOD; }
    Валентин Витринский
    • S:01:26:07 02.05
    • R:01:26:10 02.05
    Норм
    Александр Котляр
  • S:01:26:13 02.05
  • R:01:26:15 02.05
  • ты измени только стоимость
    Валентин Витринский
    • S:01:26:18 02.05
    • R:01:26:26 02.05
    Ок ?
    Валентин Витринский
    • S:01:26:26 02.05
    • R:01:26:31 02.05
    Не надо ниче менять
    Александр Котляр
  • S:01:26:30 02.05
  • R:01:26:32 02.05
  • да
    Александр Котляр
  • S:01:26:38 02.05
  • R:01:26:41 02.05
  • а
    Александр Котляр
  • S:01:26:41 02.05
  • R:01:26:42 02.05
  • хорошо
    Валентин Витринский
    • S:01:26:40 02.05
    • R:01:26:43 02.05
    Ты меня исполнителем не выбирал
    SYSTEM
  • S:01:26:48 02.05
  • R:01:26:51 02.05
  • Александр Котляр выбрал исполнителем Валентин Витринский
    Валентин Витринский
    • S:01:26:54 02.05
    • R:01:26:58 02.05
    Чисто консультацию взял
    Валентин Витринский
    • S:01:27:02 02.05
    • R:01:27:06 02.05
    Не надо было выбирать
    Александр Котляр
  • S:01:27:14 02.05
  • R:01:27:16 02.05
  • а
    Александр Котляр
  • S:01:27:20 02.05
  • R:01:27:22 02.05
  • а теперь шо
    Александр Котляр
  • S:01:27:23 02.05
  • R:01:27:26 02.05
  • ахахахах
    Валентин Витринский
    • S:01:27:27 02.05
    • R:01:27:32 02.05
    Ниче
    Валентин Витринский
    • S:01:27:36 02.05
    • R:01:27:41 02.05
    0
    Валентин Витринский
    • S:01:27:42 02.05
    • R:01:27:46 02.05
    Исполнитель изменил стоимость. Новое значение: 1 ₽
    Александр Котляр
  • S:01:27:45 02.05
  • R:01:27:47 02.05
  • всм
    SYSTEM
  • S:01:27:55 02.05
  • R:01:28:00 02.05
  • Валентин Витринский отправил решение Александр Котляр
    Валентин Витринский
    • S:01:28:00 02.05
    • R:01:28:03 02.05
    В прямом
    Валентин Витринский
    • S:01:28:09 02.05
    • R:01:28:13 02.05
    Не было никакого заказа
    Александр Котляр
  • S:01:28:28 02.05
  • R:01:28:30 02.05
  • понял
    Валентин Витринский
    • S:01:28:35 02.05
    • R:01:28:39 02.05
    89852952650
    Валентин Витринский
    • S:01:28:44 02.05
    • R:01:28:46 02.05
    Напиши в тг по этому номеру
    Валентин Витринский
    • S:01:28:57 02.05
    • R:01:29:02 02.05
    Щас обьясню
    Александр Котляр
  • S:01:29:01 02.05
  • R:01:29:03 02.05
  • ща
    Валентин Витринский
    • S:01:30:02 02.05
    • R:01:30:06 02.05
    И где
    Валентин Витринский
    • S:01:30:05 02.05
    • R:01:30:09 02.05
    ?
    Валентин Витринский
    • S:19:42:57 02.05
    • R:19:43:02 02.05
    Исполнитель изменил стоимость. Новое значение: 300 ₽
    SYSTEM
  • S:19:43:04 02.05
  • R:19:43:09 02.05
  • Валентин Витринский отправил решение Александр Котляр
      • USER
      • 300.0

        /

        300.0

      • EXEC
      • 240.0

        /

        240.0

        

    Сбер

       

    Тинькофф