| Forum |
|
Programmiersprachen | |
 | public class pArrayQueue{
protected Object[] array;
protected int start,end;
protected boolean full;
public pArrayQueue(int maxsize){
array = new Object[maxsize];
start = end = 0;
full = false;
}
public boolean isEmpty(){
return ((start == end) && !full);
}
public void insert(Object o){
if(!full)
array[start = (++start % array.length)] = o;
if(start == end)
full = true;
}
public Object remove(){
if(full)
full = false;
else if(isEmpty())
return null;
return array[end = (++end % array.length)];
}
} |
Zum Testen
class pArrayQueueTest{
public static void main(String[] args){
pArrayQueue q = new pArrayQueue(10);
Integer j = null;
int i;
System.out.println("starting...");
for(i=0;i<10;i++){
j = new Integer((int)(Math.random() * 100));
q.insert(j);
System.out.println("insert: " + j);
}
while(!q.isEmpty()){
System.out.println("remove: " + ((Integer)q.remove()));
}
System.out.println("Done ;-)");
}
} |
|
|
Programmiersprachen | |
| | Ich danke dir für deine Hilfe
Ich bin noch nicht ganz durch
Ich versuche Mal zu erklären wie ich es verstanden und was ich nicht verstanden habe .
class ListElem
{
Object inhalt = null; 111
ListElem next = null; 222
ListElem(Object o, ListElem next) 333
{
this.next = next; 444
this.inhalt = o; 555
}
void append(Object o) 666
{
if (next == null) { 777
next = new ListElem(o, null);888
}
else {
next.append(o); 999
}
}
void print() AAA
{
System.out.print(this.inhalt + " ");
if (next != null) {
next.print();
}
}
}
}
111 : Object ist der Datentyp , und inhalt der Wert
222 : Erzeugung eines Zeigers
333 : die Methode ListElem( ) mit den Parametern ( Wert , Element) wird deklariert
444 : das Element this zeigt auf das nächste Element
555 : das Element this bekommt den Wert o
666 : die Methode append ( ) hängt ein Element an das Ende der Liste an
777 : nicht verstanden
888 : nicht verstanden
999 : nicht verstanden
AAA : Ausgabe des Elements this
und was ist mit der Methode print() { }
|
|
|
Programmiersprachen | |
| | |
Programmiersprachen | |
| |
Ich habe mich seit einiger Zeit nicht mehr mit Programmieren beschäftigt deshalb komme ich ganz leicht durcheinander , also ich weiss nicht wie wo was wohin kommen soll .
Ich möchte also ZB eine Liste anlegen 1-->2-->3-->4-->5
und die auch ausgeben und nachher die Liste bearbeiten d.h Elemente einfügen ,löschen ... |
|
Logik, Mengen & Beweistechnik | |
 |
 
Hallo , Mein Vorschlag wäre zu zeigen , wenn 2^(n-1) für a_1 \oplus\ ... \oplus\ a_n stimmt dann muss 2^n für a_1 \oplus\ ... \oplus\ a_n \oplus\ a_(n+1) stimmen . Sei : a_1 \oplus\ ... \oplus\ a_n = [ sum(( a_i \or\ a_(i+1) ) \and\ ( \not\ a_i \or\ \not\ a_(i+1) ) ,i=1,n-1) ] => Anzahl = 2^(n-1) a_1 \oplus\ ... \oplus\ a_n \oplus\ a_(n+1) = [ sum(( a_i \or\ a_(i+1) ) \and\ ( \not\ a_i \or\ \not\ a_(i+1) ) ,i=1,n) ] = [ sum(( a_i \or\ a_(i+1) ) \and\ ( \not\ a_i \or\ \not\ a_(i+1) ) ,i=1,n-1) ] \oplus\ [ ( a_n \or\ a_(n+1) ) \and\ (\not\ a_n \or\ \not\ a_(n+1)) ] Statt Sigma \oplus\ Die Anzahl von ( a_n \or\ a_(n+1) ) \and\ (\not\ a_n \or\ \not\ a_(n+1)) ist 2 , Also 2.2^(n-1) insgesamt
[ Nachricht wurde editiert von Strucktomat am 27.05.2006 20:54:28 ] |
|
Programmiersprachen | |
| | |
Programmiersprachen | |
| |
Hallo ,
Ich habe das folgende Programm , und versuche seit einiger Zeit , zu einem Ergebnis zu kommen (eine Ausgabe).D.h erstmal eine Liste anlegen und auf alle Elemente zugreifen können (Einfügen an beliebiger Position , löschen an beliebiger position und Zugriff auf beliebige Position ) schaffe es aber irgendwie nicht.
public class RingList
{
private ListElem lisp = null; //
RingList(int n)
{
ListElem erstes_und_letztes; /* hier wird das zuerst erzeugte und damit letzte Element der Liste gespeichert um seinen Zeiger später auf den Anfang der Liste setzen zu können */
lisp = new ListElem(null, lisp);
erstes_und_letztes = lisp;
for (int i = 0; i < n-1; i++) //die n-1 restlichen Listenelemente erzeugen
{
lisp = new ListElem(null, lisp);
}
erstes_und_letztes.next = lisp; //nachfolger-Pointer des letzten auf das erste setzen
lisp.vorgaenger = erstes_und_letztes; //vorgaenger-Pointer des ersten Elements auf das letzte setzen
}
}
class ListElem
{
Object inhalt = null; //
ListElem vorgaenger = null;
ListElem next = null;
ListElem(Object o, ListElem next)
{
this.next = next;
this.inhalt = o;
if (next != null)
{
next.vorgaenger = this;
}
}
} |
|
|
Programmiersprachen | |
 |
Danke für die schnelle Hilfe |
|
Programmiersprachen | |
 |
Hallo ,
Was muss ich installieren ? und wie ? um mit Modula 3 programmieren zu können .
Bisher war Java meine Hauptprogrammiersprache , leider bin ich jetzt gezwungen mit Modula 3 zu arbeiten , und habe keine Erfahrung damit .
Ich wäre sehr dankbar wenn ihr mir helfen könnt bis ich mein erstes Programme in Modula 3 geschafft habe .
|
|
Algorithmen / Datenstrukturen | |
 |
Hallo ,
Wie ich die programme A und B verstehen kann . Die Anweisungen von den RAM-Programmen verstehe ich nicht .Also
Die Schritte
001
002
003
.
.
.
bis zum Ende
und was dadurch berechnet wird , Anhand einer Erklärung des Programms A oder B kann ich nachher selber die RAM-Programme verstehen und die dadurch entstandenen Funktionen , in anderen Programmiersprachjen ausdrücken .Java zum Beispiel |
|
Algorithmen / Datenstrukturen | |
 | |
Algorithmen / Datenstrukturen | |
 |
 
Also ich habe verstanden ,dass wenn 2 zb links vor 4 steht und wie gewusst 2<4 ist.Der Programmteil // Swap values if necessary: temp = x[min]; x[min] = x[index]; x[index] = temp; wird trotzdem durchgeführt , 2 und 4 behalten aber ihre Plätze . Anders gesagt mit rechts geben und mit links zurücknehmen . und dies gilt für jede zwei zu vergleichenden Zahlen ,die von i=0 bis i=n-2 durchgelaufen werden .Also n-1 Mal die Vertauschung der Werte zwischen x[min] und x[index] , und nicht unbedingt die Vertauschung der Plätze . Danke für deine Hilfe
|
|
Algorithmen / Datenstrukturen | |
 |
In der Vorlesung ist es in Modula
In Modula
PROCEDURE SelectionSort(VAR a: ARRAY [1..N] OF ItemType) =
VAR min : INTEGER ;
t : ItemType ;
BEGIN
FOR i := 1 TO N - 1 DO
min := i ;
FOR j := i + 1 TO N DO
IF a[j] < a[min] THEN
min := j ;
END ;
END ;
t := a[min] ; a[min] := a[i] ; a[i] := t ;
END ;
END SelectionSort ;
Mein Algorithmus in Java :
public class selectsort {
public static void main(String[] args) {
}
public static void print(int[] x) {
for (int i=0; i<x.length; i++)
System.out.print(x[i] + " ");
System.out.println();
}
public static void selectsort(int[] x) {
int min, temp, index, scan;
// Sort each element of $x$ in ascending order:
for(index = 0; index < x.length-1; index++) {
min = index;
// Find the smallest value to the "left" of current element:
for(scan = index+1; scan < x.length; scan++)
if (x[scan] < x[min]) min = scan;
// Swap values if necessary:
temp = x[min];
x[min] = x[index];
x[index] = temp;
}
}
}
|
[ Nachricht wurde editiert von Strucktomat am 24.05.2006 19:23:50 ] |
|
Algorithmen / Datenstrukturen | |
 |
 
Hallo , man behauptet im Vorlesungsskript , dass die Anzahl der Vertauschen bei einem Select Sort (Sortieren durch Auswählen ) n-1 wäre , da die Vertauschungen nur in der äusseren Schleife ausgeführt werden , und diese n-1 Mal durchlaufen. Es gibt n(n-1)/2 Vergleiche . (i=0,i=1,i=2,;,,,;4,2,3,1;,,,;,j=1,j=2,j=3) 4 , 2 , 3 , 1 => (i=0,j=1) 2 , 4 , 3 , 1 =>2 und 4 werden vertauscht (i=0,j=2) 2 , 4 , 3 , 1 =>keine Vertauschung (i=0,j=3) 1 , 4 , 3 , 2 =>2 und 1 werden vertauscht (i=1,j=2) 1 , 3 , 4 , 2 =>4 und 3 werden vertauscht (i=1,j=3) 1 , 2 , 4 , 3 =>3 und 2 werden vertauscht (i=2,j=3) 1 , 2 , 3 , 4 =>4 und 3 werden vertauscht Nach dem Skript gibt es : Anzahl der zu sortierenden Zahlen - 1 = 4-1 = 3 was ist richtig und was ist falsch ... Danke im voraus
|
|
Numerik & Optimierung | |
 |
 
Hallo , das i in max_i bringt mich durcheinander , also erstmal die Summe sum(a_ij,j=1,n) berechnen : abs(a_i1) + abs(a_i2) + ... + abs(a_in) und dann wie mache ich weiter mit dem max_i ? also : max_i ( abs(a_i1) + abs(a_i2) + ... + abs(a_in) )
|
|
Numerik & Optimierung | |
 |
 
Hallo , Ich komme leider nicht weiter bei diesen Berechnungen ,sie bringen mich irgendwie durcheinander . Also Allgemein berechnet man die Kondition einer Matrix A = a_ij ; i,j \el\ {1,...,n} bezüglich einer Norm folgendermassen : cond_(norm(.)) =norm(A). norm(A^ -1 ) Die Matrixnorm (speziell Zeilensummennorm) folgendermassen : norm(A)_\inf := max_i sum(abs(a_ij),j=1,n) Die Zeilensummennorm verstehe ich nicht . Ich habe ein Beispiel : A= (1,1;1,1.0001) ; A^ -1 = (1 + 10^4 , 10^4 ; -10^4 , 10^ 4) wie ist man auf cond(A)_\inf =4.10^4 gekommen . Danke im voraus
[ Nachricht wurde editiert von Strucktomat am 17.05.2006 17:54:06 ] |
|
Relationen und Abbildungen | |
| | |
Sonstiges | |
 |
Hallo ,
Ich bin Student ,und möchte wegen Studium ein Notebook kaufen , das man auf raten zahlen kann ,am besten online im Bereich von maximal 800 Euro .Da man bei Supermärkten wie Mediamarkt usw kann Chance hat ,als Student ein Notebook zu kaufen .Ich habe schon ein paar Angebote gefunden , ZB
Acer Aspire 3004WLMi (LX.A5505.B73)
CPU: AMD Mobile Sempron Prozessor 3100+ (25W)
Grafik: shared memory
HDD: 100 GB
Ram: 512 MB DDR (1x512)
Laufwerk: Dual-DVD Brenner
Display: 15,4" WXGA CrystalBrite TFT Display
WLAN: Ja (54 MBits/s)
Betriebssystem: Windows XP Home
Für 759 Euro , leider kann man es nur durch den Partner vom Verkäufer (CC-Bank) auf Raten kaufen ,die willigen leider die Studentenanträge auf einen Kredit nicht ein , da Sie kein sicheres Einkommen haben .
Kann mir also jemand einen Tipp geben , wo ich ein Notebook auf Raten kaufen kann , unter 800 Euro .
Danke im voraus
|
|
Textsatz mit LaTeX | |
 |
Hallo ,
Kann mir jemand sagen , was ich installieren muss ,um Latex benutzen zu können(alles drum und dran pdf...) .ich habe im Internet recherchiert ,konnte aber die Programme nicht geziehlt herunterladen ,mit anderen Worten, ich wusste nicht was ich downloaden muss , es gibt eine Menge zu downloaden .
Danke |
|
Sonstiges | |
| |
Danke
ich weiss leider nicht was ich herunterladen muss bei der Seite von Ghostscript , es gibt eine Menge Dateien zu downloaden , welche muss ich downloadden um ghostscript benutzen zu können . |
|