Mach doch einfach ein großes (Mehrdimensionales) Array mit allen Entfernungen?
Code:
#include <stdio.h>
int main()
{
int a[5][5] = {
{1,2,3,4,5},
{1,2,3,4,5},
{1,2,3,4,5},
{1,2,3,4,5},
{1,2,3,4,5},
};
int start;
int ziel;
printf("Bitte geben Sie den Start ein!\n");
scanf("%i", &start);
printf("Bitte geben Sie das Ziel ein!\n");
scanf("%i", &ziel);
printf("%i km!", a[start][ziel]);
}
Ausgabe:
[user:~]> ./dist
Bitte geben Sie den Start ein!
2
Bitte geben Sie das Ziel ein!
4
5 km!
Edit:
Kurze Erklärung wie das Array funktioniert:
Das Array ist eine Liste, in deinem Fall eine Mehrdimensionale. Das heisst einfach: Stell dir einen Tisch mit 5 Schubladen vor. Du kannst in jede Schublade Zahlen eingeben, und ausgeben lassen. In deinem Fall ist jetzt in jeder Schublade wieder ein solcher Tisch. (Etwas blöd vorzustellen, aber sollte gehen).
Das erste
Ist deine erste Schublade in dem Tisch, der in Schublade 1 des ersten Tisches ist. (Also Stadt 1). Jetzt musst du dort nur die Entfernungen zu jeder Stadt hineinschreiben.
Beispiel:
{Hier kommt die Entfernung zur ersten Stadt rein, also 0, da du von Stadt 1 zu Stadt 1 fahren würdest. , Hier die Entfernung von Stadt 1 zu 2. ,usw.,4,5}