ВУЗ:
Составители:
Рубрика:
91
Задача 18: Элементы списка, кратные числу 3, обнулить.
Рассуждения:
1. Для задачи нужно создать список. А для списка нужно объявить
элемент списка. Список характеризуется головой.
2. Пусть список будем заполнять случайными числами. И каждое новое
число будем добавлять в голову.
3. После формирования списка его надо вывести на экран.
4. После этого мы
должны пройтись по всем элементам списка от первого
(head) до последнего. Но последний элемент надо тоже обработать.
Поэтому надо идти по списку, пока текущий элемент существует, т. е.
не равен null. В списке несколько элементов, поэтому должен быть
цикл. После обработки текущего элемента надо перемещаться на
следующий элемент, т. е. должна быть
операция типа curNode =
curNode.next;
for (ListNode curNode = head; curNode != null; curNode =
curNode.next) …
5. Для каждого элемента, если данное в нем (т. е. число) кратно 3,
заменить число в элементе на 3. Поэтому в виде кодов реализация будет
следующая:
public void process() {
for (ListNode curNode = head; curNode != null; curNode =
curNode.next) {
if (curNode.data % 3 == 0) {
curNode.data = 0;
}
}
}
6. Операция вывода уже была рассмотрена ранее. Поэтому приведем
полный код решения:
using System;
namespace ConsoleApplication17 {
class Program {
static void Main() {
SimpleList myList = new SimpleList();
Console.Write("Введите количество элементов списка: ");
int n = Int32.Parse(Console.ReadLine());
Random r = new Random();
for (int i = 0; i < n; i++) {
int curValue = r.Next(100);
myList.addToHead(curValue);
}
Console.Write("Список до обработки: ");
myList.print();
myList.process();
Console.Write("Список после обработки: ");
myList.print();
Console.ReadKey();
Страницы
- « первая
- ‹ предыдущая
- …
- 89
- 90
- 91
- 92
- 93
- …
- следующая ›
- последняя »