М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

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

👇
Ответ:
VIGOMIC
VIGOMIC
13.01.2020

include iostream

include windows.h

include keyboard

print(Entered)

cout<<all symbols equal>50

4,6(46 оценок)
Ответ:
A01AA0
A01AA0
13.01.2020
Хорошо, я могу выступить в роли школьного учителя и объяснить, как решить эту задачу на языке программирования Си.

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

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

После этого мы будем проходить по каждому символу в текущей строке, чтобы найти первое число. Мы будем использовать функцию `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;
}
```

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