Bräuchte Hilfe in C-Programmierung

  • Hi
    ihr müsste dem Malmod mal am Rechener helfen^^


    Ich soll in C (NICHT C++) ein Programm schreiben, was Berechnungen mit Werten aus einer Tabelle anstellen soll.


    Hauptproblem dabei ist, dass die Tabelle als .txt Datei gegeben sein soll (mit x und y Werten)
    und ich keine Ahnung habe, wie ich es in C hinbekommen soll, dass nur die entsprechenden Werte und nicht die ganze Datei eingelesen werden soll.


    Die Werte müssten dann als Variablen verwendbar sein, dass ich sie in die Formeln einsetzten kann.



    Hoffe einer von euch kann helfen.


    Gruß Thor

  • Hm.. ich hoff ich kann dir jetzt mit meinem bescheidenen Wissen helfen.


    Liegen die Werte in der Datei in einem bestimmten Muster vor?


    Dann kannst du in C die Datei öffnen, die Werte erstmal auf einen Vektor lesen und dann eine Unterfunktion verwenden, die deine Werte von diesem Vektor in einen anderen schreibt, wobei bestimmte Werte übersprungen werden.


    Falls du die TXT Datei selbst anlegen darfst (und sie nicht benutzerfreundlich sein muss), würde ich ein Muster empfehlen das dir bei der Programmierung entgegen kommt (gleich in der TXT nach X und Y sortieren).


    Zum Einlesen würde ich eine While Schleife verwenden, glaube ich (grasha=Amateur :D) und eine Art STOP-Zeichen einbauen in die TXT, damit die While Schleife weiss, wann abgebrochen werden muss (z.B wenn Ascii Zeichen soundso erfolgt).


    Hoffe ich konnte grob helfen ^^ Meine C-Kenntnisse sind eingerostet und rudimentär..

  • Hilft mir leider nicht so wirklich weiter.


    Die txt kann ich zwar so anlegen wie ich will, aber ich brauche halt irgend eine Möglichkeit dem Programm zu sagen rechne mit den beiden Zahlenwerten aus Zeile eins und verwende die erste als x und die zweite als y

  • hm.. naja.. sollte eigentlich grob dabei auch rauskommen.


    Machst dir die datei auf, dann holst dir mit fscanf die Werte raus in einen Vektor.


    Dann ordnest du bestimmten Werten aus dem Vektor ne Variable zu -damit solltest du nach x und y-Werten Trennen können, indem du auf die entsprechende Stelle im Vektor verweist.


    z.B: wenn abwechselnd X und Y Werte in der Datei gespeichert sind.
    [Wert1 aus VektorV]=X ; [Wert2 aus VektorV]=Y
    Dann machst du deine Berechnungen und schreibst dein Ergebnis auf einen Ergebnisvektor an die entsprechende Stelle.


    Nachdems ja mehrere Berechnungen sind, würd ich das in einer Schleife ausführen mit Zählern.


    Also erhöhst du deinen Zähler um einen entsprechenden Wert, damit als nächstes folgendes gerechnet wird:


    [Wert3 aus VektorV]=X; [Wert4 aus VektorV]=Y
    Berechnung..
    [Ergebnis der Berechnung]=[Wert2 des Ergebnisvektors]


    usw. bis alle Werte berechnet sind.


    Dann den Ergebnisvektor ausgeben.


    Ich kanns dir leider nicht komplett explizit hinschreiben - dazu müsste ich selber erst alle Befehle nachschlagen - aber ich hoffe ich kann dir zumindest mit dem Prinzip weiterhelfen..



    Edit: Lesbarer gemacht, war zu konfus.

  • Mit dem fscanf ging's.
    In der Tabelle stehen die Werte (x y) nebeneinander, dass haben wir aber hinbekommen.
    Jetzt muss unsere Gruppe es "nur" noch hinbekommen, dass damit richtig gerechnet wird^^


    Das schauen wir uns aber erst morgen wieder an.


    Auf jeden Fall schonmal Danke an dieser Stelle [13]