===== Programmieren mit C++ =====
=== Installation einer IDE ===
* Unter Linux: gcc + Text-Editor
* Windows: gcc + MINGW + Texteditor oder VisualC++?
* Mac? Keine Ahnung... wohl gcc + Text-Editor oder X-Code?
=== Hello World ===
// Kommentar
#include // Für Ein- und Ausgabe
/* Mehrzeiliger Kommentar
Damit einfach cout anstatt std::cout geschrieben werden kann.
Gilt auch für endl anstatt std:endl
*/
using namespace std;
// Start Hauptprogramm. Könnte int zurückgeben als Fehlercode
// 0 heisst kein Fehler.
int main() {
cout << "Hello world!" << endl;
}
===== SOI Aufgaben =====
==== Task 1, Sushi ====
=== Subtask 1 ===
#include
using namespace std;
// Solve problem
int solve(int n, int s, int p[]) {
// Solve problem here
// Return solution
return 42;
}
int main() {
int t=0; // number of test cases
cin >> t;
// Repeat over all test cases
for (int i=0; i> n; // number of sushis
int s=0;
cin >> s; // price of bottle
int p[n]; // Array for sushi prices
for (int j=0; j> p[j]; // Read sushi price
}
// Solve and output solution
cout << "Case #" << i << ": " << solve(n,s,p) << endl;
}
}
== Testdaten ==
2
2 0
16 42
2 0
100 64
== Ausführen ==
Nach dem Compilieren z.B. mit
./sub1.exe < sub1.txt
wird der Inhalt der Datei sub1.txt eingelesen, als ob dies auf der Tastatur eingegeben worden wäre.
== Makefile ==
Für jene ohne IDE, hier ein generisches Makefile:
SOURCES=$(wildcard *.cpp)
TARGETS=$(patsubst %.cpp,%.exe,$(SOURCES))
all: $(TARGETS)
%.exe: %.cpp
g++ $< -o $@
clean:
rm -r *~ *.exe