UÂżytkownik
Mati Buczkowski i Frąckowiak- wklejcie swoje programy z tych zajec - plizzz!
Offline
UÂżytkownik
Jeśli się nie mylę to tylko listy męczyliśmy
lista.h
#pragma once using namespace std; // KLASA ELEM ------------------------------------------------------------------ class elem { elem *next; double *data; public: elem(); elem(double value); elem(double value, elem *newNext); ~elem(); double ret(); friend class list; }; elem :: elem() { next = NULL; } elem :: elem(double value) { data = new double; *data = value; next = NULL; } elem :: elem(double value, elem* newNext) : next(newNext) { data = new double; *data = value; } elem :: ~elem() { delete data; data = NULL; } double elem :: ret() { return *data; } // KLASA LIST ------------------------------------------------------------------ class list { elem *head; public: list(); ~list(); void add_first(double value); void add_ordered(double value); bool remove(double value); void display(); }; list :: list() { head = NULL; } list :: ~list() { elem *temp; while (head) { temp = head; head = head->next; delete temp; } } void list :: add_first(double value) { elem *temp = new elem(value, head); head = temp; } void list :: add_ordered(double value) { if ((head == NULL) || (value < head->ret())) { elem *nowy = new elem(value, head); head = nowy; return; } elem *temp = head; while ((temp->next) && (value > temp->next->ret())) temp = temp->next; elem *nowy = new elem(value, temp->next); temp->next = nowy; } bool list :: remove(double value) { if ((head == NULL) || ((value != head->ret()) && head->next == NULL)) return false; if (head->ret() == value) { elem *temp = head->next; delete head; head = temp; return true; } elem *temp = head; while ((temp->next) && (value != temp->next->ret())) { if (value < temp->next->ret()) return false; temp = temp->next; } elem *nowy = temp->next->next; delete temp->next; temp->next = nowy; return true; } void list :: display() { elem *temp = head; while (temp) { cout << temp->ret() << endl; temp = temp->next; } }
lista.cpp
#include <iostream> #include <conio.h> #include "list.h" using namespace std; int main() { list *lista = new list; lista->add_ordered(3.4); lista->add_ordered(3.6); lista->add_ordered(0.6); lista->add_ordered(13.6); lista->add_ordered(5.6); lista->add_ordered(63.6); lista->add_ordered(23.6); lista->remove(0.6); lista->remove(63.6); lista->display(); getch(); delete lista; return 0; }
Offline
UÂżytkownik
czy mnie oczy nie myla czy jest to osobna biblioteka?
Offline
Administrator
raczej osobny plik, ciepły nam kiedyś mówił jak pisać programy w kilku plikach, z tym ze on mówił o strukturze z 3 poziomami: plik główny i instrukcjami programu, plik z deklaracjami funkcji i klas, i pliki z definicjami klas i funkcji
Offline