Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hey,

habe noch nie in meinem leben zuvor programmiert und soll nun folgende aufgaben lösen:

Aufgabe 2a.

Bei dieser Aufgabe geht es um das formatierte Einlesen und Ausgeben einer Datei. Dazu müssen

Sie sich zunächst einmal eine Datei mit dem Namen table.txt schreiben, in der folgender Inhalt

gespeichert ist:

a 1 2 3

Dazu können Sie einen Editor verwenden oder einfacher den folgenden Kommandozeilen-

Befehl:

> echo "a 1 2 3" > table.txt

Mit dem Kommandozeilen-Befehl more können Sie sich wieder den Inhalt der Datei ansehen:

> more table.txt

a 1 2 3

>

Ihre Aufgabe ist es nun, diese Datei einzulesen und in umgekehrter Reihenfolge in eine andere

Datei mit dem Namen table_inverse.txt auszugeben. Die Ergebnisdatei soll somit wie folgt

aussehen:

3 2 1 a

Aufgabe 2b.

Erzeugen Sie sich nun die folgende Datei

a 1 2 3

b 4 5 6

c 7 8 9

mit dem Befehl:

> echo "a 1 2 3\nb 4 5 6\nc 7 8 9" > table.txt

und geben Sie sie in zeilenweise umgekehrter Reihenfolge in eine Ausgabedatei table_inverse.txt

aus. Die Ergebnis-Datei sollte somit wie folgt aussehen:

3 2 1 a

6 5 4 b

9 8 7 c

so sieht mein lösungsansatz aus.... ich weiß nicht ob das richtig ist und wie ich weiter machen soll...

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

int i;

printf("Eingabe: \n");

scanf("%d", &i);

printf("Sie haben %d eingegeben\n", i);

system("PAUSE");

return 0;

}

wäre lieb wenn mir jmd. weiterhelfen könnte...

lg cleo

Hallo,

die Aufgabe ist ja nicht Zahlen über die Eingabeaufforderung einzugeben. Du hast eine fertige Datei und diese sollst Du einlesen und in eine andere Datei wieder zurück schreiben.

Mach doch erst einmal Schritt eins: Datei öffnen, einlesen und auf dem Bildschirm ausgeben

Frank

Bitte benutze Code Tags !!

> echo "a 1 2 3" > table.txt

....

> more table.txt

a 1 2 3

....

> echo "a 1 2 3\nb 4 5 6\nc 7 8 9" > table.txt

Das hier ist definitiv kein C, das sieht aus wie die Unix Befehle und ich tippe einmal, dass das irgendwie "Grundlagen der Programmierung / Informatik / Unix" sind.

Schau Dir zu den Befehlen die Manpages an

Das hier ist definitiv kein C, das sieht aus wie die Unix Befehle und ich tippe einmal, dass das irgendwie "Grundlagen der Programmierung / Informatik / Unix" sind.
Das ist die Anleitung, wie man die Textdateien erstellt, die für die C-Aufgaben gebraucht werden.
Das ist die Anleitung, wie man die Textdateien erstellt, die für die C-Aufgaben gebraucht werden.

...sorry, und ich hatte schon überlegt warum man dann noch ein C Programm braucht.

@OP: Schau Dir mal die Befehle fopen, feof, fscanf und fclose an

Hallo,

die Aufgabe ist ja nicht Zahlen über die Eingabeaufforderung einzugeben. Du hast eine fertige Datei und diese sollst Du einlesen und in eine andere Datei wieder zurück schreiben.

Mach doch erst einmal Schritt eins: Datei öffnen, einlesen und auf dem Bildschirm ausgeben

Frank

ja genau da hapert es ja bei mir...in der schule haben wir unix und hier bei mir zu hause mach ich das über dev c ++, also ist das irgendwie anders als in der schule.:-(

könnte mir denn vielleicht jmd sagen wie ich hier bei dev c ++ daten einlesen und wieder ausgeben kann??

ja genau da hapert es ja bei mir...in der schule haben wir unix und hier bei mir zu hause mach ich das über dev c ++, also ist das irgendwie anders als in der schule.:-(
C ist plattformunabhängig. Der Code sollte sich nicht unterscheiden.

könnte mir denn vielleicht jmd sagen wie ich hier bei dev c ++ daten einlesen und wieder ausgeben kann??
Du solltest allerdings die Finger von Dev-C++ lassen. Diese Entwicklungsumgebung hat etliche Fehler und wird schon lange nicht mehr weiterentwickelt.

Nimm für Windows besser Code::Blocks oder Microsoft Visual C++ Express Edition.

könnte mir denn vielleicht jmd sagen wie ich hier bei dev c ++ daten einlesen und wieder ausgeben kann??

Datei auf, Datei lesen bis Ende, Datei zu. :rolleyes:

Die Befehle dafür hat flashpixx ja schon gepostet.

Ansonste hilft google gern weiter:

Standard C I/O

ja genau da hapert es ja bei mir...in der schule haben wir unix und hier bei mir zu hause mach ich das über dev c ++, also ist das irgendwie anders als in der schule.:-(

ich halte es immer für eine gute Übung, wenn Du Dir auch zu Hause ein entsprechendes Unix installierst. Wo stellt es ein Problem dar, ein Ubuntu oder OpenSuse parallel auf Deinem System zu installieren. Alternativ gibt es diverse Virtualisierungsmöglichkeiten (VMWare, VirtualBox) mit denen Du auch ein Unix innerhalb Deines Windows virtualisieren kannst

könnte mir denn vielleicht jmd sagen wie ich hier bei dev c ++ daten einlesen und wieder ausgeben kann??

Wie Klotzkopp schon schrieb:

Dev-C++ ? Wikipedia

Die letzten Arbeiten an Dev-C++ wurden im März 2005 veröffentlicht. An dem Status der letzten zugänglichen Beta-Version hat sich seitdem nichts verändert, man geht deshalb davon aus, dass die Arbeiten an diesem Projekt eingestellt wurden.

Ergänzend zu Klotzkopp's Vorschlag Code::Blocks oder Visual Studio einzusetzen, kannst Du auch mit Cygwin (Cygwin Information and Installation) oder MinGW (MinGW | Minimalist GNU for Windows) die entsprechenden GCC-Tools (GCC, the GNU Compiler Collection - GNU Project - Free Software Foundation (FSF)) unter Windows verwenden.

ich halte es immer für eine gute Übung, wenn Du Dir auch zu Hause ein entsprechendes Unix installierst. Wo stellt es ein Problem dar, ein Ubuntu oder OpenSuse parallel auf Deinem System zu installieren.

Das ist aber Linux und kein Unix.

GNU-Projekt ? Wikipedia

GNU („GNU is not Unix“)

(Krümelka**en am frühen Morgen fetzt. :rolleyes: )

Das ist aber Linux und kein Unix.

Linux ? Wikipedia

Als Linux oder GNU/Linux werden in der Regel freie, portable, Unix-ähnliche Mehrbenutzer-Betriebssysteme bezeichnet, die auf dem Linux-Kernel und wesentlich auf GNU-Software basieren.

Wenn Du hier schon "Krümmel suchen" willst, dann würde ich sagen, dass der OP sich ein Unix-ähnliches System wie OpenSuse, Debian oder Ubuntu, .... installieren soll.

Aber zu Deinem genannten Link:

1987 erschien das Lehrsystem Minix, entwickelt von Andrew S. Tanenbaum an der Freien Universität Amsterdam. Minix war ein Unix-Klon mit Mikrokernel [...]

und ergänzend Geschichte von Linux ? Wikipedia

Als Grundlage dienten dabei das Minix-System und der GNU-C-Compiler.

kann man durchaus sagen, dass Linux in seinen Basisfunktionen ein Klon von Unix ist, folglich: Unix => Minix => Linux

Aber wenn Du schon diverse Artikel zitierst:

GNU/Linux-Namensstreit ? Wikipedia

Der GNU/Linux-Namensstreit ist eine Auseinandersetzung um den korrekten Begriff für Betriebssysteme, die GNU mit dem Linux-Kernel kombinieren. Der Begriff GNU/Linux wird dabei von der Free Software Foundation sowie von anderen Organisationen und Projekten als Begriff für Systeme bevorzugt, für die sich im allgemeinen Sprachgebrauch die Bezeichnung Linux durchgesetzt hat.

Aber das Thema ist hier OT

schon mal vielen dank für die zahlreichen antworten:)

so habe es jetzt bereits geschafft die daten einzulesen und sie wieder auszugeben. wie bekomme ich es denn hin , dass die eingelesene datei verkehrt herum wieder ausgegeben wird??

so habe es jetzt bereits geschafft die daten einzulesen und sie wieder auszugeben. wie bekomme ich es denn hin , dass die eingelesene datei verkehrt herum wieder ausgegeben wird??

Poste einfach mal Deinen Code.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.