Programmieren in fortran < Fortran < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:03 Di 01.03.2005 | Autor: | blops |
hi, hi,
erstmal vielen, vielen dank fuer den supertollen tipp gestern mit dem quicksort, funktioniert prima.
da hab ich gleichmal die naechste frage zum fortran programmieren.
ich wuerde gerne die anzahl der daten in einem datensatz zaehlen, was auch noch super hinhaut.
allerdings moechte ich jetzt nur jede dritte date zaehlen, d.h. ich dachte das funktioniert so, dass man einfach mit der do-loop folgendes macht.
do j = 1, n, 3 ...
funktioniert aber nicht, der tut so als stuende die drei gar nicht da.
hoffe ihr koennt mir helfen.
babsi
(Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.)
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:57 Di 01.03.2005 | Autor: | Lizard |
Hallo,
> erstmal vielen, vielen dank fuer den supertollen tipp
> gestern mit dem quicksort, funktioniert prima.
Freut mich zu hören :)
> ich wuerde gerne die anzahl der daten in einem datensatz
> zaehlen, was auch noch super hinhaut.
> allerdings moechte ich jetzt nur jede dritte date zaehlen,
> d.h. ich dachte das funktioniert so, dass man einfach mit
> der do-loop folgendes macht.
> do j = 1, n, 3 ...
> funktioniert aber nicht, der tut so als stuende die drei
> gar nicht da.
Also, prinzipiell sollte das genau so funktionieren, wie du schreibst. Warum es nicht geht, weiß ich leider auch nicht. Aber wenn das normale Zählen funktioniert, warum teilst du das Ergebnis dann nicht einfach durch 3 und rundest auf? Das sollte prinzipiell genau das gleiche liefern, vielleicht etwas langsamer, aber das dürfte wohl nicht weiter stören.
Nur mal interessehalber, warum machst du das denn alles in Fortran? Musst du dich da aus irgendeinem Grund einarbeiten? Falls nicht, gibt es ja deutlich schönere Sprachen, in denen man sich besser zurechtfinden könnte...
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:12 Di 01.03.2005 | Autor: | blops |
ich mache fortran, weil ich nix anderes gelernt habe, und ich habe fortran gelernt, weil unser dozent an der uni gesagt hat, wer spaeter mal in der astronomie arbeiten moechte soll unbedingt fortran nehmen.
ich fands auch doof, haette viel lieber c++ genommen, aber was tut man nicht alles.
na ja, bin noch ziemlicher programmieranfaenger, deswegen frag ich andauernd.
vielen,vielen dank dass du immer so schnell antwortest.
kannst du denn fortran programmieren??
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:19 Di 01.03.2005 | Autor: | blops |
ach ja,
wuerde ich das programm fuer mich schreiben, wuerde ich hoechstwahrscheinlich durch drei teilen. aber das kommt etwas doof, wenn ich zu dem mann fuer den ich das mache und der das programm dann oefter benutzen moechte sage, er soll jedesmal durch drei teilen.
und der datenvergleich den ich noch vorhabe wuerde auch nicht funktionieren weil dafuer brauch ich nur jede dritte date.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:46 Di 01.03.2005 | Autor: | Lizard |
Hallo,
> ich mache fortran, weil ich nix anderes gelernt habe, und
> ich habe fortran gelernt, weil unser dozent an der uni
> gesagt hat, wer spaeter mal in der astronomie arbeiten
> moechte soll unbedingt fortran nehmen.
Hmm. OK, kann ich verstehen.
> ich fands auch doof, haette viel lieber c++ genommen, aber
> was tut man nicht alles.
Ja, ich werde jetzt wohl auch Java lernen, obwohl ich es eigentlich vermeiden wollte. Naja, was muss, das muss :)
> na ja, bin noch ziemlicher programmieranfaenger, deswegen frag ich andauernd.
> vielen,vielen dank dass du immer so schnell antwortest.
Gern, ist ja auch kein Problem. Solange ich helfen kann...
> kannst du denn fortran programmieren??
Nein! Ich hab's nie gelernt, aber gewisse Dinge kann man natürlich mal eben im Internet nachvollziehen, wenn man die entsprechenden Konzepte schon einmal gesehen hat (beispielsweise so ziemlich alles, was irgendwie mit Syntax zu tun hat).
> wuerde ich das programm fuer mich schreiben, wuerde ich
> hoechstwahrscheinlich durch drei teilen. aber das kommt etwas doof,
> wenn ich zu dem mann fuer den ich das mache und der das programm
> dann oefter benutzen moechte sage, er soll jedesmal durch drei
> teilen. und der datenvergleich den ich noch vorhabe wuerde auch
> nicht funktionieren weil dafuer brauch ich nur jede dritte date.
Naja, das Teilen sollte natürlich schon im Programm erfolgen ;)
Aber wenn du es so nicht machen willst, kannst du ja mal den relevanten Auszug aus deinem Programm vollständig hier zitieren, vielleicht kann man daraus ersehen, warum es nicht so tut, wie es eigentlich soll.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:13 Di 01.03.2005 | Autor: | blops |
Ich glaube ich weiss jetzt ,wo ungefaehr das problem liegt.
ich mache do j=1,n,3
read(1,*) t(j)
enddo
jetzt nimmt der natuerlich jedes dritte j, was ein integer ist, aber dazu nicht jedes dritte t(j). das habe ich gerade ausprobiert.
was tu ich jetzt??
und noch eine frage: diese daten sind ja characters, wenn ich jetzt da ein leerzeichen drinhabe z.b. V100 VBG dann nimmt er jetzt nur V100, ich will aber alles, weisst du was ich da machen kann??
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:47 Di 01.03.2005 | Autor: | Lizard |
Hallo,
sorry, ab hier setzt es aus. Vielleicht kennt sich jemand anders genug mit Fortran aus, um deine Frage zu beantworten...
Davon mal abgesehen, "read" ist doch dafür gedacht, Daten aus der Eingabe auszulesen und dann in das Array hineinzuschreiben, oder irre ich mich da? Was macht es dann in deinem Code zum Zählen von Arrayelementen?
Sowieso, ich werde gerade umso verwirrter, je länger ich versuche, dein Problem nachzuvollziehen. Vielleicht reden wir ja auch aneinander vorbei? Wenn du möchtest, kannst du dein Problem ja mal ausführlich darlegen (und dabei erklären, was du eigentlich machen willst), damit ich es auch verstehe. Wenn nicht, meldet sich ja vielleicht jemand, der Fortran kann, und hilft dir bei dem Problem - oder du schaust dich mal um, ob du nochmal irgendwo im Internet nachfragen kannst, wo sich viele Leute mit Fortran auskennen. Dazu fallen mir zwar spontan keine Seiten ein, aber so etwas sollte sich ja finden lassen.
|
|
|
|