C++
Организовать функцию для добавления в список случайными
положительными и отрицательными числами таким образом, чтобы все
числа по модулю были разными
Ответы
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
// Структура для хранения элемента списка
struct Node {
int data;
Node *next;
};
// Функция для добавления элемента в список
void add(Node *&head, int data) {
Node *temp = new Node;
temp->data = data;
temp->next = head;
head = temp;
}
// Функция для вывода списка
void print(Node *head) {
while (head != NULL) {
cout << head->data << " ";
head = head->next;
}
cout << endl;
}
// Функция для добавления в список случайными положительными и отрицательными числами таким образом, чтобы все числа по модулю были разными
void addRandom(Node *&head) {
srand(time(NULL));
int n = 0;
int data = 0;
cout << "Введите количество элементов: ";
cin >> n;
for (int i = 0; i < n; i++) {
data = rand() % 100;
if (rand() % 2 == 0) {
data *= -1;
}
add(head, data);
}
}
// Точка входа в программу
int main() {
Node *head = NULL;
addRandom(head);
print(head);
return 0;
}