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