| Autor | 
Beitrag | 
depigoid 
        
 
Beiträge: 24 
 
Win XP 
 
 | 
Verfasst: Mo 12.03.07 16:34 
 
Hallo! 
 
Ich habe einen Quelltext zum Thema insertion sort, der nicht funktioniert und den ich nicht verstehe. Könnte mir bitte jemand sagen, warum DIESE (s.u.) Zeile nicht funktioniert - es kommt immer als Fehlermeldung "Imkompatible Typen". Könnte mir bitte auch jemand diesen Quelltext erklären? 
 																	1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
  				 | 									procedure THauptfenster.BerechneClick(Sender: TObject); type tfeld=array[1..20]of integer; const n=20;                         var i,j,help:integer;     a,b:tfeld; begin   for i:=1 to n do    begin     a[i]:=random(593);                      listbox1.items.Add(inttostr(a[i]));    end;
    for i:=1 to n do    begin     if a[i]<a[i-1] then      begin       j:=i;       help:=a[i];        if (a[j-1]>help and j>0) then          begin          a[j]:=a[j-1];          j:=j-1;         end;            a[j]:=help;       end;    end;
      for i:=1 to n do                    listbox2.items.Add(inttostr(a[i])); end;
  end.					 				 | 			 		 	  
Ich würde mich sehr über Hilfe freuen!  
 Mit freundlichen Grüßen 
 depigoid
 Moderiert von  Gausi: Delphi-Tags hinzugefügt 
 
 | 
 | 
Robinator 
        
 
Beiträge: 275 
 
WinXP 
BDS 2006 
 | 
Verfasst: Mo 12.03.07 16:41 
 
Bitte Delphi-Tags benutzen! So kann man das nicht lesen   
gruss, Rob  
_________________ erare humanum est
  
 | 
 | 
Jann1k 
        
 
Beiträge: 866 
Erhaltene Danke: 43 
 
Win 7 
TurboDelphi, Visual Studio 2010 
 | 
Verfasst: Mo 12.03.07 16:50 
 
weiß zwar nicht was bei deiner markierten zeile nicht stimmt aber klappt den schon darüber 
 
 if a[i]<a[i-1] then 
 
 
 nicht? wenn i=1 ist a(i-1)=a(0) und a(0) gibts nicht, also müsste das proggi abstürzen...denke ich 
 
 | 
 | 
r2c2 
        
 
Beiträge: 324 
Erhaltene Danke: 2 
 
Linux 
 
 | 
Verfasst: Mo 12.03.07 16:54 
 
Hallo   
das Problem, was zum Fehler führt, sind IMHO fehlende Klammern.
 Zu Fehlermeldungen im Allgemeinen siehe auch:  r2c2.weingut-rehn.de...-Fehlermeldungen.htm
mfg
 Christian  
_________________ Kaum macht man's richtig, schon klappts!
  
 | 
 | 
depigoid   
        
 
Beiträge: 24 
 
Win XP 
 
 | 
Verfasst: Mo 12.03.07 18:57 
 
erstmal danke! 
 
 aber was dagegen zu tun ist, weiß ich leider immer noch nicht. 
 "[...],sind IMHO fehlende Klammern." -  was ist das bzw. was heißt das? 
 Was will mir der Quelltext überhaupt sagen?
 
 dann leider noch ein weiteres Problem der Unwissenheit: wie mach ich das mit den Tags? Ich hab das jetzt einfach mal als Anhang mit rangemacht. Ich hoffe es funktioniert. 
 
 Mit freundlichen Grüßen 
 
 depigoid 
Einloggen, um Attachments anzusehen!
 
 
 | 
 | 
Marc. 
        
 
Beiträge: 1876 
Erhaltene Danke: 129 
 
Win 8.1, Xubuntu 15.10 
 
 | 
Verfasst: Mo 12.03.07 19:01 
 
Hallo depigoid!
 Delphi Text setzt du mit [delphi ] {Code} [/delphi ]   
		                                                          Delphi-Quelltext                                	 															1:
  				 | 									if (a[j-1]>help and j>0) then 					 				 | 			 		 	  
Wenn du mehere Abfragen mit AND, OR oder XOR zusammenfast musst du jeden Vergleich einklammern:
 		                                                          Delphi-Quelltext                                	 															1:
  				 | 									if (a[j-1] > help) and (j > 0) then 					 				 | 			 		 	  
grüße marc
 //edit: JayEff: Problem gelöst!  
 
  Zuletzt bearbeitet von Marc. am Mo 12.03.07 19:31, insgesamt 4-mal bearbeitet
 | 
 | 
JayEff 
        
 
Beiträge: 2971 
 
Windows Vista Ultimate 
D7 Enterprise 
 | 
Verfasst: Mo 12.03.07 19:29 
 
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
 [>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
  
 | 
 | 
depigoid   
        
 
Beiträge: 24 
 
Win XP 
 
 | 
Verfasst: Di 13.03.07 21:09 
 
Vielen Dank. 
 
 Könnte mir bitte noch jemand sagen, was der Quelltext ansonsten mir versucht zu sagen? Er legt ne Schleife durchs gesamte Array [i] - und dann? 
 
 Mit freundlichen Grüßen 
 
 depigoid 
 
 | 
 | 
depigoid   
        
 
Beiträge: 24 
 
Win XP 
 
 | 
Verfasst: Di 13.03.07 21:22 
 
Er gibt mir jetzt aber immer noch nicht die Zahlen sortiert aus. Woran liegt das? Zählt das immer noch unter Insertion sort? 
 
																	1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
  				 | 									procedure THauptfenster.BerechneClick(Sender: TObject); type tfeld=array[1..20]of integer; const n=20; var i,j,help:integer;     a,b:tfeld; begin   for i:=1 to n do    begin     a[i]:=random(593);     listbox1.items.Add(inttostr(a[i]));    end;
    for i:=1 to n do    begin     if a[i]<a[i-1] then      begin       j:=i;       help:=a[i];        if (a[j-1]>help) and (j>0) then         begin          a[j]:=a[j-1];          j:=j-1;         end;            a[j]:=help;       end;    end;
      for i:=1 to n do                    listbox2.items.Add(inttostr(a[i])); end;
  end.					 				 | 			 		 	  
MfG depigoid  
 
 | 
 | 
alzaimar 
        
 
Beiträge: 2889 
Erhaltene Danke: 13 
 
W2000, XP 
D6E, BDS2006A, DevExpress 
 | 
Verfasst: Di 13.03.07 22:21 
 
[x] das ist eine Hausarbeit.
 [x] du hast nicht aufgepasst.
 
 Stimmts? 
_________________ Na denn, dann. Bis dann, denn.
  
 | 
 | 
r2c2 
        
 
Beiträge: 324 
Erhaltene Danke: 2 
 
Linux 
 
 | 
Verfasst: Mi 14.03.07 09:48 
 
_________________ Kaum macht man's richtig, schon klappts!
  
 | 
 | 
depigoid   
        
 
Beiträge: 24 
 
Win XP 
 
 | 
Verfasst: Do 15.03.07 16:38 
 
1. Hausarbeit: stimmt (wenigstens z.T.)
 2. du hast nicht aufgepasst: stimmt nicht! 
 
 Vielen Dank für die Hilfe! Ich glaube ich weiß jetzt, gegen wen's geht. Nochmal danke!!
 Mit freundlichen Grüßen 
 depigoid 
 
 | 
 |