Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
24.12.09, 16:59
|
#1
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
Compiler Proton
Hi Leute..
Also wir müssen ein Pflichtprogramm schreiben (an der Uni) damit wir zu den Prüfungen zugelassen werden.
Wollte es also daheim machen und hab aber jetzt schwierigkeiten den Compiler zu installieren.
an der Uni klappt das wunderbar.
wir gehen auf "ausführen" "cmd" und dann folgenden code
g++ -ansi -o test.exe test.cc
und in der Datei cc steht noch "#include<iostream>"
was mach ich falsch??
ich benutze das programm "proton" aber im prinzip könnte ich ja auch mit dem editor ein programm schreiben.
kann mir jemand schritt für schritt erklären, wie ich ein compiler installiere und
ob "#include<iostream>" ausreicht? oder muss ich noch was dazuschreiben?
|
|
|
24.12.09, 17:01
|
#2
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
Wie wärs wenn du uns erklärst WAS denn nicht funktioniert? Ich kann grade nicht hellsehen.
|
|
|
24.12.09, 17:05
|
#3
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
ja sry^^ habs wohl vergessen
wenn ich also folgenden code im eingabefenster (ausführen, cmd) eingebe:
g++ -ansi -o test.exe test.cc
kommt folgende fehlermeldung:
c:\user\xx\AppData\Local\Temp/ccltdaaa.o(.text+0x1d9):test.cc:
undefined reference to "tausch(int*, int)
collect2: ld returned 1 exit status
ich denke mal mein compiler funktioniert nicht so richtig...
mein ziel ist im endeffekt die quelldatei (also test.cc) zu einer exe datei (test.exe) zu machen...
|
|
|
24.12.09, 17:29
|
#4
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
der compiler funktioniert. poste den code den du kompilieren willst.
|
|
|
24.12.09, 17:38
|
#5
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
#include<iostream>
using namespace std;
int main(void)
{
int n,i=0;
int array[10];
void tausch(int[],int);
while(i<10)
{
array[i]=(i+1);
i++;
}
i=0;
while(i<10)
{
cout << array[i] << '\t' << flush;
i++;
}
cout << " n: " << flush; cin >> n;
tausch(array,n);
i=0;
while(i<10)
{
cout << array[i] << '\t' << flush;
i++;
}
// system("PAUSE");
}
|
|
|
24.12.09, 17:44
|
#6
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
void tausch(int[],int); <-- Wozu soll das gut sein? lösch die zeile raus.
|
|
|
24.12.09, 18:06
|
#7
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
ahhh
warte mal^^ mein compiler klappt doch!!
also dieses programm funktioniert zwar nicht aber ich hab mal was anderes ausprobiert und es hat geklappt..
ich danke dir =)
|
|
|
24.12.09, 18:07
|
#8
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
woran lag es denn?
|
|
|
24.12.09, 18:29
|
#9
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
keine ahnung.. das erste programm geht nicht zu konvertieren. anscheinend ist da irgendwas falsch. aber das ist auch nicht weiter schlimm. ich hab mal was anderes ausprobiert und das hat geklappt.
|
|
|
24.12.09, 18:31
|
#10
|
Erfahrener Newbie
Registriert seit: Nov 2009
Beiträge: 120
Bedankt: 38
|
du hattest ja auch nur den methodenkopf von tausch(int, int).. aber keinen Rumpf dazu..
|
|
|
24.12.09, 18:44
|
#11
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
hmm also unsere aufgabe besteht darin:
Entwickeln Sie eine Funktion tausch(...), der ein int-Feld mit 10 Komponenten und eine
positive int-Zahl n übergeben werden. Die Funktion soll die Feldelemente um n Stellen nach
rechts zyklisch durchtauschen.
Beispiele:
1. Feld a vor Funktionsaufruf:
1 2 3 4 5 6 7 8 9 10
Feld nach Aufruf tausch(a,1):
10 1 2 3 4 5 6 7 8 9
2. Feld a vor Funktionsaufruf:
1 2 3 4 5 6 7 8 9 10
Feld nach Aufruf tausch(a,2):
9 10 1 2 3 4 5 6 7 8
3. Feld a vor Funktionsaufruf:
1 2 3 4 5 6 7 8 9 10
Feld nach Aufruf tausch(a,3):
8 9 10 1 2 3 4 5 6 7
im prinzip muss ich ja mit feldern arbeiten.
aber mein problem besteht darin, dass ich mich mit array nicht so gut auskenne^^
wenn ihr wollt könnt ihr mir ja helfen^^ ihr müsst mir ja nicht die lösung sagen, sondern vielmehr wie ich an die aufgabe drangehe.
lösungsidee:
Bei Eingabe von n den zyklischen Tausch um eine Stelle mit Hilfe einer
Schleife n mal wiederholen.
|
|
|
24.12.09, 20:56
|
#12
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
1. welche sprache ?
2.
Zitat:
Entwickeln Sie eine Funktion tausch(...), der ein int-Feld mit 10 Komponenten und eine
positive int-Zahl n übergeben werden.
|
ok.
Zitat:
Die Funktion soll die Feldelemente um n Stellen nach
rechts zyklisch durchtauschen.
|
was ist mit zyklisch durchtauschen _genau_ gemeint?
immer diese lehrer die informatik nicht studiert haben, und dann auf arme schüler losgelassen werden... :P
__________________
entropie erfordert keine wartung
|
|
|
24.12.09, 20:59
|
#13
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
sieht nach C++ aus.
|
|
|
24.12.09, 21:12
|
#14
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
ok, ich habs denke ich mal verstanden.
das erste was mir einfällt ist, was soll passieren, wenn parameter eine
positive int-Zahl n übergeben nicht im array existiert ?
__________________
entropie erfordert keine wartung
|
|
|
24.12.09, 21:17
|
#15
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
es soll C sein^^ (oder c++?? weiß net so genau)
also was wir alles gemacht haben bis jetzt sind so while schleifen, if, array, etc.. nicht allzu kompliziert.
mit zyklisch siehst ja in den beispielen =)
also mal angenommen ich geb 2 ein dann soll sich alles um 2 nach rechts verschieben.
und es fängt dann halt mit 9 10 1 2 3 4 5 6 7 8
an
im array existieren im prinzip ja nur die zahlen 1-10
ich denke mal ich muss jedes feld um 1 erhöhen.. aber ich weiß noch net, wie ich es schaffe, dass die erste zahl die letzte wird.
vll eine zwischenvariable??
|
|
|
24.12.09, 21:21
|
#16
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
Code:
cout << " n: " << flush; cin >> n;
Eindeutig C++.
Das mit dem um 1 erhöhen hört sich eher nach einer schlechten Lösung an...
|
|
|
24.12.09, 21:24
|
#17
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
ach je, das ist eigentlich trivial.
und ich hab schon 12 biere drinne  *PROST* !!!!
schick mir ne pm, und ich schicke dir lösungsansätze. ok?!
__________________
entropie erfordert keine wartung
|
|
|
24.12.09, 21:27
|
#18
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
und auf den 7.ten blick, du benötigst den '%' operator.
__________________
entropie erfordert keine wartung
|
|
|
24.12.09, 21:28
|
#19
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
Urga, du könntest ihm wenigstens den Algorithmus selber suchen lassen. Er soll ja auch was lernen :P
|
|
|
24.12.09, 21:34
|
#20
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
aber hallo!
den alg. wird er bei google nicht finden. dafür ist der zu trivial.
jahrelang selbst algorithmus gewesen. ich weiß wovon ich spreche!
__________________
entropie erfordert keine wartung
|
|
|
24.12.09, 21:57
|
#21
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
achso.. den mod operator??? aber % war glaube ich mit rest.. wie soll mir das denn helfen?? XD
wisst ihr was^^ ich hab bis zum 7.1. zeit die lösung herauszufinden! ich werde euch als freunde adden und es mal selbst versuchen.. wenn ich es nichts schaffe könntet ihr mir ja so "richtig" helfen XDD wäre echt nett
ich meld mich bei euch wenn ich am verzweifeln bin oder die lösung hab =)
schonmal im voraus danke für die einsatzbereitschaft.
|
|
|
25.12.09, 11:37
|
#22
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
es geht auch ohne mod, aber dann hast du mind. 2 if (bzw. ? : operatoren) in deiner kopier-schleife.
mit % ist es eleganter
__________________
entropie erfordert keine wartung
|
|
|
16.02.10, 17:00
|
#23
|
Mitglied
Registriert seit: Jun 2009
Beiträge: 348
Bedankt: 181
|
Der Thread ist zwar alt aber vll benötigt jemand anderes die Lösung... Hier meine Funktion:
void tausch(int a[10],int n)
{
for (int i = 0; i < n; i++)
{
int tmp = a[0];
a[0] = a[9];
for (int j = 9; j > 1; j--)
a[j] = a[j-1];
a[1] = tmp;
}
}
damit hat es geklappt =)
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 Uhr.
().
|