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

Написать программу на Си, которая читает с клавиатуры строки (максимальный размер строк - 50 символов) Признаком окончания ввода является ввод пустой строки. Вывести первую строку, в составе которой встречается самое маленькое число.

Ответ:
19Викушка
19Викушка
04.01.2022 06:00

include iostream

include windows.h

include keyboard

print(Entered)

cout<<all symbols equal>50

0,0(0 оценок)
Ответ:
danilkolisnich
danilkolisnich
22.01.2024 17:00
Хорошо, я могу выступить в роли школьного учителя и объяснить, как решить эту задачу на языке программирования Си.

Для начала, чтобы решить задачу, нужно использовать цикл для считывания строк с клавиатуры до тех пор, пока не будет введена пустая строка. Мы будем сохранять введенные строки в массиве символов.

Затем нам понадобится переменная для хранения самого маленького числа, которую мы будем обновлять каждый раз, когда вводим новую строку. Предположим, что числа в строках могут быть только положительными, поэтому мы можем начать с некоторого большого значения, чтобы убедиться, что первое число встретившейся строки будет меньше.

После этого мы будем проходить по каждому символу в текущей строке, чтобы найти первое число. Мы будем использовать функцию `isdigit()` из библиотеки ``, чтобы проверить, является ли текущий символ числом. Если символ является числом и его значение меньше текущего найденного минимального числа, мы обновим значение минимального числа.

Когда мы закончим считывание и проверку каждой строки, мы просто выведем первую строку с встреченным минимальным числом.

И вот как будет выглядеть код программы:

```c
#include
#include

int main() {
char strings[50][50]; // массив для хранения строк
int numStrings = 0; // количество введенных строк
int minNum = 999999; // начальное значение минимального числа

// считывание строк с клавиатуры
printf("Введите строки (пустая строка для окончания):\n");
do {
fgets(strings[numStrings], 50, stdin);
numStrings++;
} while (strings[numStrings-1][0] != '\n'); // проверка на пустую строку

// поиск первого числа и минимального числа
for (int i = 0; i < numStrings - 1; i++) {
for (int j = 0; strings[i][j] != '\0'; j++) {
if (isdigit(strings[i][j])) {
int currentNum = strings[i][j] - '0'; // преобразование символа в число
if (currentNum < minNum) {
minNum = currentNum;
break;
}
}
}
}

// поиск и вывод первой строки с минимальным числом
for (int i = 0; i < numStrings - 1; i++) {
for (int j = 0; strings[i][j] != '\0'; j++) {
if (isdigit(strings[i][j]) && (strings[i][j] - '0') == minNum) {
printf("Первая строка с минимальным числом: %s", strings[i]);
return 0;
}
}
}

printf("Минимальное число не было найдено.\n");

return 0;
}
```

Это решение позволяет считывать строки с клавиатуры до тех пор, пока не будет введена пустая строка. Затем оно находит первое число и минимальное число среди всех введенных строк. И, наконец, выводит первую строку, содержащую это минимальное число. Если минимальное число не было найдено, программа выведет сообщение об этом.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?