Даны натуральное число n, действительные числа x1, x2,…,xn (n>=2). Получить последовательность x1-xn, x2-xn,…, xn-1-xn. Для решения этой задачи использовать однонаправленный список. Метод решения Программа #include <iostream.h> #include <conio.h> #include <stdlib.h> const N = 8; typedef struct Pnode Tnode; struct Pnode{ int Item; Tnode * Next; }; void AddList( Tnode * List, int newElem){ // Добавить элемент в список Tnode * newNode; newNode = new Tnode; newNode -> Item = newElem; newNode -> Next = NULL; while (List -> Next != NULL) List = List -> Next; List -> Next = newNode; } void PrintList( Tnode * List){ // Распечатать список while (List != NULL){ cout << List -> Item << ' '; List = List -> Next; } cout << endl; } void main(){ clrscr(); Tnode * A; // определяем список A A = new Tnode; A -> Item = random(9)+1; // Вносим первый элемент A -> Next = NULL; for (int i = 1; i < N; i++ ) // заносим еще N-1 элемент AddList( A, random(9)+1); PrintList( A); Tnode * Last = A; // находим последний элемент списка while (Last -> Next != NULL) Last = Last -> Next; Tnode * X = A; // печатаем список, вычитая последний элемент while ( X -> Next != NULL){ cout << X -> Item - Last -> Item << ' '; X = X -> Next; } cout << endl; } Результат работы программы. 5 1 1 4 1 4 2 5 2 3 -1 -1 2 -1 2 0 3
Ключевые слова:
список, елемент списка, однонаправленный список
|
|||