make file erstellen
-
Hi @ all,
habe vollendendes Problem, und zwar soll ich für mein Praktikum in der FH ein Programm in C schreiben, was 20 Zahlen im Array einliest, sortiert, Mittelwert berechnet, kleinste- und zweit kleinste und größte Zahl herausfindet, formatierte Ausgabe etc. macht. So bis auf eine kleine Funktion, die beim einlesen die Anzahl der eingelesen Zahlen zurückgibt ( sieht irgendwie komisch aus aber weiß nicht wie es sonst gehen soll ) läuft alles. So jetzt muss ich noch eine Make-File erstellen von diesen Programm. Jetzt weiß ich nicht was eine Make-File ist und was sie überhaupt bewirkt, Google sagt zwar das es Kommandos zum ausführen des Programms ausführt und gibt ein paar Beispiele aber daraus werde ich nicht so schlau. Kann mir jemand vllt helfen? wäre super nett wenn jemand einmal kurz drüber guckt und mir hilft. Danke vielmals im vorraus.#include <stdio.h> #include "arrayFunction.h" int main() { int mainarray[20] = {0}; int tmparray[20] = {0}; int anz=0; printf("\nBitte geben Sie 20 Zahlen ein:\n"); /* Einlesen */ anz = einlesen(mainarray,anz); /* Mittelwert */ printf("Mittelwert : %.2lf\n",mittelwert(mainarray,anz)); /* Groesste Zahl */ printf("Groesste Zahl : %i\n",groesstezahl(mainarray,anz)); /* Kleinste Zahl */ printf("Kleinste Zahl : %i\n",kleinstezahl(mainarray,anz)); /* Zweitkleinste Zahl */ printf("Zweitkleinste Zahl : %i\n",zweitkleinstezahl(mainarray,anz)); /* Ausgabe von Zahlen */ printf("Formatierte Ausgabe:\n"); outputarray(mainarray,anz); /* Array umkehren und Betrag ziehen */ absolut(mainarray,tmparray,anz); printf("Umgekehrte Reihnfolge:\n"); outputarray(tmparray,anz); /* Sort im gleichen Array */ quicksortarray(0,19,mainarray,anz); printf("Sortiertes Array:\n"); outputarray(mainarray,anz); return 0; }
int einlesen(int mainarray[],int n); double mittelwert(int mainarray[],int anz); int groesstezahl(int mainarray[],int anz); int kleinstezahl(int mainarray[],int anz); int zweitkleinstezahl(int mainarray[],int anz); int absolut(int mainarray[], int absolut[],int anz); int quicksort(int left, int right, int mainarray[],int anz); void quicksortarray(int left, int right, int mainarray[],int anz); void outputarray(int mainarray[],int anz);
#include <stdio.h> #include <math.h> /* Einlesen */ int einlesen(int mainarray[],int n){ int i=0; int returncode; while((returncode=fscanf(stdin, "%d", &mainarray[i]))!=EOF){ i++; if (i>n) { printf("Die Maximale groesse (20) des Arrays wuerde ueberschritten!!!\n"); exit(1); } } n = i; return n; } /* Mittelwert */ double mittelwert(int mainarray[], int anz){ int i = 0; double summe = 0; double mittelwert = 0; for (i=0;i<anz;i++){ summe += mainarray[i]; } mittelwert = summe / (double) i; return mittelwert; } /* Groesste Zahl */ int groesstezahl(int mainarray[],int anz){ int tmp=0; int i=0; for (i=0;i<anz;i++){ if (mainarray[i] > tmp) tmp = mainarray[i]; } return tmp; } /* Kleinste Zahl */ int kleinstezahl(int mainarray[],int anz){ int tmp=mainarray[0]; int i=0; for (i=0;i<anz;i++){ if (mainarray[i] < tmp) tmp = mainarray[i]; } return tmp; } /* Zweitkleinste Zahl */ int zweitkleinstezahl(int mainarray[], int anz){ int tmp=groesstezahl(mainarray,anz); int i=0; int kz=kleinstezahl(mainarray,anz); for (i=0;i<anz;i++){ if ((mainarray[i] < tmp) && (mainarray[i] != kz)) tmp = mainarray[i]; } return tmp; } /* Array umkehren und Betrag ziehen */ void absolut(int mainarray[], int absolut[],int anz){ int i=0; for (i=0;i<anz;i++){ absolut[i] = fabs(mainarray[anz-i]); } } /* Array sortieren */ int quicksort(int left, int right, int mainarray[]){ int i = left; int j = right; int sort = mainarray[right]; int tmp; do{ while ((mainarray[i] <= sort) && (i < right)) i++; while ((mainarray[j] >= sort) && (j > left)) j--; if (i < j){ tmp = mainarray[i]; mainarray[i] = mainarray[j]; mainarray[j] = tmp; } } while (i < j); if (mainarray[i] > sort){ tmp = mainarray[i]; mainarray[i] = mainarray[right]; mainarray[right] = tmp; } return i; } void quicksortarray(int left, int right, int mainarray[]){ int sort = 0; if (left < right){ sort = quicksort(left,right,mainarray); quicksortarray(left, sort - 1,mainarray); quicksortarray(sort + 1, right,mainarray); } } /* Ausgabe */ void outputarray(int mainarray[], int anz){ int i; for (i=0;i<anz;i++){ if ((i % 5 == 0) && (i != 0)) printf("\n"); printf("%4i",mainarray[i]); } printf("\n"); }