ВУЗ:
Составители:
Рубрика:
87
/// Два цикла: с проверкой в конце и в начале.
/// Внешний цикл - образец многократно решаемой задачи.
/// Завершение цикла определяется в диалоге с пользователем.
/// </summary>
public void Loop() { // начало процедуры
string answer, text;
do { // начало внешнего цикла
Console.WriteLine("Введите слово");
text = Console.ReadLine();
int i = 0, j = text.Length - 1;
while ((i < j) && (text[i] == text[j]))
{ // внутренний цикл
i++;
j--;
}
if (text[i] == text[j]) Console.WriteLine(text + " - это палиндром!");
else Console.WriteLine(text + " - это не палиндром!");
Console.WriteLine("Продолжим? (yes/no)");
answer = Console.ReadLine();
} while (answer == "yes"); // конец внешнего цикла
} //Loop
5.6.3. Цикл forEach
Новым видом цикла, не унаследованным от С++, является цикл foreach,
удобный при работе с массивами, коллекциями и другими подобными
контейнерами данных. Его синтаксис:
foreach (тип идентификатор in контейнер) оператор
Цикл работает в полном соответствии со своим названием – тело цикла
выполняется для каждого элемента в контейнере. Тип идентификатора должен
быть согласован с типом элементов, хранящихся в контейнере данных.
Предполагается также, что элементы контейнера (массива, коллекции)
упорядочены. На каждом шаге цикла идентификатор, задающий текущий
элемент контейнера, получает значение очередного элемента в соответствии с
порядком, установленным на элементах контейнера. С этим текущим
элементом и выполняется тело цикла – выполняется столько раз, сколько
элементов находится в контейнере. Цикл заканчивается, когда полностью
перебраны все элементы контейнера. Серьезным недостатком циклов foreach в
языке C# является то, что цикл работает только на чтение, но не на запись
элементов. Так что наполнять контейнер элементами приходится с помощью
других операторов цикла.
В приведенном ниже примере показана работа с трехмерным массивом.
Массив создается с использованием циклов типа for, а при нахождении суммы
Страницы
- « первая
- ‹ предыдущая
- …
- 81
- 82
- 83
- 84
- 85
- …
- следующая ›
- последняя »
