- Registriert
- 17.07.08
- Beiträge
- 41
Moin,
wenn ich das Programm starte, läuft es in einer Endlosschleife und gibt nur einen Wert (den letzten) zurück. Wo ist der Fehler?
wenn ich das Programm starte, läuft es in einer Endlosschleife und gibt nur einen Wert (den letzten) zurück. Wo ist der Fehler?
Code:
[COLOR=#008D00]//[/COLOR][COLOR=#008d00]// main.cpp[/COLOR]
[COLOR=#008d00]// Aufgabe5[/COLOR]
[COLOR=#008d00]//[/COLOR]
[COLOR=#008d00]// Created by du on 06.12.11.[/COLOR]
[COLOR=#008d00]// Copyright 2011 __MyCompanyName__. All rights reserved.[/COLOR]
[COLOR=#008d00]//[/COLOR]
[COLOR=#df0001][COLOR=#7d4625]#include [/COLOR]<iostream>[/COLOR]
[COLOR=#ca00a6]usingnamespace[COLOR=#7c1aaf]std[/COLOR][COLOR=#000000];[/COLOR][/COLOR]
[COLOR=#ca00a6]struct[/COLOR] ListElem{
[COLOR=#ca00a6]private[COLOR=#000000]:[/COLOR][/COLOR]
[COLOR=#438388]ListElem[/COLOR]* m_Next;
[COLOR=#438388]ListElem[/COLOR]* m_Prev;
[COLOR=#ca00a6]int[/COLOR] m_Elem;
[COLOR=#ca00a6]public[COLOR=#000000]:[/COLOR][/COLOR]
[COLOR=#ca00a6]int[/COLOR] getElem(){
[COLOR=#ca00a6]return[/COLOR] [COLOR=#438388]m_Elem[/COLOR];
}
[COLOR=#ca00a6]void[/COLOR] setPrev([COLOR=#438388]ListElem[/COLOR]* elem){
[COLOR=#438388]m_Prev[/COLOR] = elem;
}
[COLOR=#438388]ListElem[/COLOR]* getPrev(){
[COLOR=#ca00a6]return[/COLOR] [COLOR=#438388]m_Prev[/COLOR];
}
[COLOR=#ca00a6]void[/COLOR] setNext([COLOR=#438388]ListElem[/COLOR]* next){
[COLOR=#438388]m_Next[/COLOR] = next;
}
[COLOR=#438388]ListElem[/COLOR]* getNext(){
[COLOR=#ca00a6]return[/COLOR] [COLOR=#438388]m_Next[/COLOR];
}
[COLOR=#ca00a6]void[/COLOR] setElem([COLOR=#ca00a6]int[/COLOR] elem){
[COLOR=#438388]m_Elem[/COLOR] = elem;
}
ListElem([COLOR=#ca00a6]int[/COLOR] elem, [COLOR=#438388]ListElem[/COLOR]* next, [COLOR=#438388]ListElem[/COLOR]* prev){
[COLOR=#438388]m_Next[/COLOR] = next;
[COLOR=#438388]m_Prev[/COLOR] = prev;
[COLOR=#438388]m_Elem[/COLOR] = elem;
[COLOR=#ca00a6]if[/COLOR]([COLOR=#438388]m_Next[/COLOR] != [COLOR=#4400e0]0[/COLOR])
[COLOR=#438388]m_Next[/COLOR]->[COLOR=#275a5e]setPrev[/COLOR]([COLOR=#ca00a6]this[/COLOR]);
[COLOR=#ca00a6]if[/COLOR] ([COLOR=#438388]m_Prev[/COLOR] != [COLOR=#4400e0]0[/COLOR])
[COLOR=#438388]m_Prev[/COLOR]->[COLOR=#275a5e]setNext[/COLOR]([COLOR=#ca00a6]this[/COLOR]);
}
};
[COLOR=#ca00a6]struct[/COLOR] DoubleList{
[COLOR=#438388]ListElem[/COLOR]* m_Head;
[COLOR=#438388]ListElem[/COLOR]* m_Tail;
DoubleList(){
[COLOR=#438388]m_Head[/COLOR] = [COLOR=#4400e0]0[/COLOR];
[COLOR=#438388]m_Tail[/COLOR] = [COLOR=#4400e0]0[/COLOR];
}
[COLOR=#ca00a6]void[/COLOR] pushFront([COLOR=#ca00a6]int[/COLOR] elem){
[COLOR=#ca00a6]if[/COLOR]([COLOR=#438388]m_Head[/COLOR] == [COLOR=#4400e0]0[/COLOR])
[COLOR=#438388]m_Head[/COLOR] = [COLOR=#438388]m_Tail[/COLOR] = [COLOR=#ca00a6]new[/COLOR] [COLOR=#438388]ListElem[/COLOR](elem, [COLOR=#4400e0]0[/COLOR], [COLOR=#4400e0]0[/COLOR]);
[COLOR=#ca00a6]else[/COLOR]
[COLOR=#438388]m_Head[/COLOR] = [COLOR=#ca00a6]new[/COLOR] [COLOR=#438388]ListElem[/COLOR](elem, [COLOR=#438388]m_Head[/COLOR], [COLOR=#4400e0]0[/COLOR]);
}
[COLOR=#ca00a6]void[/COLOR] pushBack([COLOR=#ca00a6]int[/COLOR] elem){
[COLOR=#ca00a6]if[/COLOR]([COLOR=#438388]m_Tail[/COLOR] == [COLOR=#4400e0]0[/COLOR])
[COLOR=#438388]m_Tail[/COLOR] = [COLOR=#438388]m_Head[/COLOR] = [COLOR=#ca00a6]new[/COLOR] [COLOR=#438388]ListElem[/COLOR](elem, [COLOR=#4400e0]0[/COLOR], [COLOR=#4400e0]0[/COLOR]);
[COLOR=#ca00a6]else[/COLOR]
[COLOR=#438388]m_Tail[/COLOR] = [COLOR=#ca00a6]new[/COLOR] [COLOR=#438388]ListElem[/COLOR](elem, [COLOR=#4400e0]0[/COLOR], [COLOR=#438388]m_Tail[/COLOR]);
}
[COLOR=#ca00a6]void[/COLOR] addElement([COLOR=#ca00a6]int[/COLOR] elem){
[COLOR=#438388]m_Tail[/COLOR] = [COLOR=#438388]m_Head[/COLOR];
[COLOR=#438388]m_Head[/COLOR] = [COLOR=#ca00a6]new[/COLOR] [COLOR=#438388]ListElem[/COLOR](elem, [COLOR=#438388]m_Head[/COLOR], [COLOR=#4400e0]0[/COLOR]);
}
[COLOR=#ca00a6]void[/COLOR] print(){
[COLOR=#ca00a6]for[/COLOR] ([COLOR=#438388]ListElem[/COLOR]* elem = [COLOR=#438388]m_Head[/COLOR]; elem != [COLOR=#4400e0]0[/COLOR]; elem->[COLOR=#275a5e]getNext[/COLOR]()) {
[COLOR=#7c1aaf]cout[/COLOR] << elem->[COLOR=#275a5e]getElem[/COLOR]() << [COLOR=#480086]endl[/COLOR];
}
}
};
[COLOR=#ca00a6]int[/COLOR] main ([COLOR=#ca00a6]int[/COLOR] argc, [COLOR=#ca00a6]const[/COLOR] [COLOR=#ca00a6]char[/COLOR] * argv[])
{
[COLOR=#438388]DoubleList[COLOR=#275a5e]dl[/COLOR][COLOR=#000000];[/COLOR][/COLOR]
dl.[COLOR=#275a5e]addElement[/COLOR]([COLOR=#4400e0]5[/COLOR]);
dl.[COLOR=#275a5e]addElement[/COLOR]([COLOR=#4400e0]10[/COLOR]);
[COLOR=#008d00]/*[/COLOR]
[COLOR=#008d00] dl.pushFront(5);[/COLOR]
[COLOR=#008d00] dl.pushBack(10);[/COLOR]
[COLOR=#008d00] dl.pushFront(10);[/COLOR]
[COLOR=#008d00] dl.pushFront(15);[/COLOR]
[COLOR=#008d00] dl.pushFront(25);[/COLOR]
[COLOR=#008d00] dl.pushFront(35);[/COLOR]
[COLOR=#008d00] */[/COLOR]
dl.[COLOR=#275a5e]print[/COLOR]();
[COLOR=#ca00a6]return[/COLOR] [COLOR=#4400e0]0[/COLOR];
}