Алгоритмы и структуры данных
Автор: 0312zh • Февраль 3, 2025 • Лабораторная работа • 2,106 Слов (9 Страниц) • 44 Просмотры
Әбілқас Сағынов атындағы Қарағанды техникалық университеті
коммерциялық емес акционерлік қоғамы
Кафедра АТҚ
ЗЕРТХАНАЛЫҚ ЖҰМЫС №1
Алгоритмы и структуры данных
(пәннің атауы)
Қабылдады:
Абдин А.Ж.
(оқытушының аты-жөні)[pic 1]
Орындаған:
Ерболқызы Жұлдыз
(студенттің аты-жөні)[pic 2]
СИБ 23-4
(тобы)[pic 3]
[pic 4][pic 5]
Қарағанды 2024
23-нұсқа
Нақты сандардың сызықтық тізімін құрыңыз. Егер қатардағы тізімде теріс элементтер қатар орналасса, біреуінен басқасын жойыңыз.
Блок схэма:
[pic 6]
#include <iostream>
using namespace std;
struct Node {
double data;
Node* next;
};
void append(Node*& head, double value) {
Node* newNode = new Node{ value, nullptr };
if (!head) {
head = newNode;
}
else {
Node* temp = head;
while (temp->next) {
temp = temp->next;
}
temp->next = newNode;
}
}
void removeConsecutiveNegatives(Node*& head) {
if (!head) return;
Node* current = head;
while (current && current->next) {
if (current->data < 0 && current->next->data < 0) {
Node* temp = current->next;
current->next = temp->next;
delete temp;
}
else {
current = current->next;
}
}
}
void printList(Node* head) {
while (head) {
cout << head->data << " ";
head = head->next;
}
cout << endl;
}
void deleteList(Node*& head) {
while (head) {
Node* temp = head;
head = head->next;
delete temp;
}
}
int main() {
setlocale(LC_ALL, "ru");
Node* head = nullptr;
int n;
cout << "элемент санын енгиз: ";
cin >> n;
cout << "сандарды енгиз:\n";
for (int i = 0; i < n; ++i) {
double value;
cin >> value;
append(head, value);
}
cout << "бастапкы список : ";
printList(head);
removeConsecutiveNegatives(head);
...