From 6d525d44f9281913352f6596886ac80724ced3da Mon Sep 17 00:00:00 2001 From: Yevhen Kozirovskyi Date: Sat, 5 Oct 2024 11:55:41 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20cv2/program.c?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cv2/program.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/cv2/program.c b/cv2/program.c index 531da83..d5c2554 100644 --- a/cv2/program.c +++ b/cv2/program.c @@ -15,44 +15,37 @@ int main() { char dish[MAX_LENGTH]; char price[MAX_LENGTH]; - // Читаем название блюда if (fgets(dish, MAX_LENGTH, stdin) == NULL) { - break; // Если чтение не удалось, выходим из цикла + break; } - dish[strcspn(dish, "\n")] = 0; // Убираем символ новой строки + dish[strcspn(dish, "\n")] = 0; - // Проверяем на пустую строку if (strlen(dish) == 0) { - break; // Выход из цикла при пустой строке + break; } - strcpy(dish_name[count], dish); // Сохраняем название блюда + strcpy(dish_name[count], dish); - // Читаем цену блюда if (fgets(price, MAX_LENGTH, stdin) == NULL) { - break; // Если чтение не удалось, выходим из цикла + break; } - price[strcspn(price, "\n")] = 0; // Убираем символ новой строки + price[strcspn(price, "\n")] = 0; - // Проверяем на пустую строку if (strlen(price) == 0) { - break; // Выход из цикла при пустой строке + break; } - // Преобразуем цену в число с плавающей запятой dish_price[count] = atof(price); count++; } - // Сортируем блюда по цене for (int i = 0; i < count - 1; i++) { for (int j = 0; j < count - i - 1; j++) { - if (dish_price[j] > dish_price[j + 1]) { - // Меняем местами цены + if (dish_price[j] > dish_price[j + 1] || + (dish_price[j] == dish_price[j + 1] && strcmp(dish_name[j], dish_name[j + 1]) > 0)) { double temp_price = dish_price[j]; dish_price[j] = dish_price[j + 1]; dish_price[j + 1] = temp_price; - // Меняем местами названия char temp_name[MAX_LENGTH]; strcpy(temp_name, dish_name[j]); strcpy(dish_name[j], dish_name[j + 1]); @@ -61,10 +54,9 @@ int main() { } } - // Выводим отсортированные блюда и их цены for (int i = 0; i < count; i++) { printf("%s\n%.6f\n", dish_name[i], dish_price[i]); } return 0; -} +} \ No newline at end of file