+ 3

Помогите решить задачку

Вам дана программа, которая задает массив из 10 слов и принимает букву в качестве вводных данных. Напишите программу для перебора массива и вывода слов, содержащих принятую букву. При отсутствии подходящих слов, программа должна выводить "No match". Пример Входных Данных u Пример Выходных Данных fun ------------- Вот задача, дабы не писать стену кода сделал всё через цикл while, но возникает вопрос, в случае когда введённой буквы нет ни в 1 слове, консоль выдает "Нет вывода", что и логично, а как сделать так, чтобы она выводила "No match"? https://code.sololearn.com/c7ajBgJiT2q6/?ref=app

3rd May 2021, 8:37 PM
TouchiHe
TouchiHe - avatar
25 Antworten
+ 2
☺️ Во первых, когда вы инициализируете переменную, то ей нужно сразу присвоить значение, иначе будет выдавать ошибку, как в вашем случае. Пример: bool f = false; Напишите условие с проверкой f из этого алгоритма: — "... в случае когда введённой буквы нет ни в 1 слове, консоль выдает "Нет вывода"... "
4th May 2021, 12:19 AM
Solo
Solo - avatar
+ 2
И ещё, флажок f не нужно сравнивать, if(f == false) аналогично if(!f). Когда в "теле" условия одно выражение, то фигурные скобки не нужны: if(!f)Console.WriteLine("No match");
4th May 2021, 9:35 AM
Solo
Solo - avatar
+ 1
например с помощью логической переменной bool
3rd May 2021, 10:43 PM
Solo
Solo - avatar
+ 1
Спасибо
4th May 2021, 9:42 AM
TouchiHe
TouchiHe - avatar
+ 1
Все классно, но, как, я помню до bool ещё там не дошли. Используй foreach и не забудь про счётчик count, данный по умолчанию. Решение через булл интересное, но тут суть форич понять надо и как это работает. Ниже код. foreach (string n in words) { if (n.Contains(letter)) { Console.WriteLine(n); count++; } } while (count == 0) { Console.WriteLine("No match"); }
4th May 2021, 10:06 PM
Артем Попов
Артем Попов - avatar
+ 1
Я так же ломал голову, пока не понял, что подсказка в count. Это одна из самых интересных задач в c#.
4th May 2021, 10:09 PM
Артем Попов
Артем Попов - avatar
+ 1
Артем Попов, в вашем коде: foreach (string n in words) { if (n.Contains(letter)) { Console.WriteLine(n); count++; } } while (count == 0) { Console.WriteLine("No match"); } Надо добавить break в цикл while, иначе будет выдавать No match бесконечно foreach (string n in words) { if (n.Contains(letter)) { Console.WriteLine(n); count++; } } while (count == 0) { Console.WriteLine("No match"); break; }
13th Nov 2021, 4:44 AM
Юрий Булеев
Юрий Булеев - avatar
0
Ответ в вашем вопросе: — "... в случае когда введённой буквы нет ни в 1 слове, консоль выдает "Нет вывода"... " Вставьте в код данное условие.
3rd May 2021, 10:38 PM
Solo
Solo - avatar
0
Так в том и вопрос, как это сделать?
3rd May 2021, 10:40 PM
TouchiHe
TouchiHe - avatar
0
Хорошо, но если задавать значение переменной в цикле while, то после цикла ты ее применить на сможешь, перепробовал множество вариантов, так и не смог ничего сделать
3rd May 2021, 11:33 PM
TouchiHe
TouchiHe - avatar
0
Что-то по типу такого https://code.sololearn.com/ciOL3ww4PN4t/?ref=app
3rd May 2021, 11:39 PM
TouchiHe
TouchiHe - avatar
0
Понял, раза с десятого 😐
4th May 2021, 8:03 AM
TouchiHe
TouchiHe - avatar
0
☺️ Урааа! 👏👏👏👏👍 Рад за Вас. ☺️
4th May 2021, 9:23 AM
Solo
Solo - avatar
0
Но рано расслоблятся ☺️ Вы недавно узнали о новом цикле foreach. Используйте его вместо while.
4th May 2021, 9:30 AM
Solo
Solo - avatar
0
Ну да, просто я тогда не додумался сделать через foreach, первое что в голову пришло был цикл while, сделал через него, а с bool подсказали уже
4th May 2021, 10:07 PM
TouchiHe
TouchiHe - avatar
0
Согласен
4th May 2021, 10:12 PM
TouchiHe
TouchiHe - avatar
0
Типы переменных - это самое начало изучения практически всех языков 😊
4th May 2021, 10:15 PM
Solo
Solo - avatar
0
Там указывается что существует такая переменная, а как ей нормально пользоваться - разбирайся сам)
4th May 2021, 10:18 PM
TouchiHe
TouchiHe - avatar
0
Но так то оно и правильно
4th May 2021, 10:18 PM
TouchiHe
TouchiHe - avatar
0
Артем Попов И да, вначале я тоже сделал с помощью счётчика, так как он фигурировал в предыдущем уроке, а потом понял что для решения данной задачи он абсолютно не нужен, также как и не нужен цикл while(count == 0) 😊 Вы просто создали бесконечный цикл 😂
4th May 2021, 10:23 PM
Solo
Solo - avatar