Merge remote-tracking branch 'origin/main'
# Conflicts: # wortlen.exe
This commit is contained in:
commit
37ce336e00
49
wochentag.c
Normal file
49
wochentag.c
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
|
||||||
|
// Variablen definieren
|
||||||
|
int jh_koeff[4] = {4,2,0,5};
|
||||||
|
int monat_koeff[12] = {2,5,5,2,3,6,1,4,0,2,5,0};
|
||||||
|
int tag = 0;
|
||||||
|
int monat = 0;
|
||||||
|
int jahr = 0;
|
||||||
|
int schaltjahr = 0;
|
||||||
|
|
||||||
|
printf("Geben Sie ein Datum ein tag, monat, jahr: \n"); //eingabe
|
||||||
|
scanf("%d.%d.%d.", &tag, &monat,&jahr);
|
||||||
|
|
||||||
|
int jh = jahr / 100; // die vorderen beiden Ziffern der Jahreszahl
|
||||||
|
int ja = jahr % 100; // die hinteren beiden Ziffern der Jahreszahl
|
||||||
|
|
||||||
|
// geschaut ob es ein schaltjahr ist
|
||||||
|
if(monat > 2){
|
||||||
|
schaltjahr = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (jahr % 400 == 0) {
|
||||||
|
schaltjahr = 1;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(jahr % 100 == 0){
|
||||||
|
schaltjahr = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(jahr % 4 == 0){
|
||||||
|
schaltjahr = 1;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
schaltjahr = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int wochentag = (tag + monat_koeff[monat -1] - schaltjahr + jh_koeff[jh%4] + ja + ja/4) % 7; // formel um den wochentag auszurechnen
|
||||||
|
|
||||||
|
const char *tage[] = {"Sonntag", "Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"};
|
||||||
|
|
||||||
|
printf("Der %d.%d.%d war ein %s.\n",tag, monat, jahr ,tage[wochentag]); // ausgabe vom Wochentag
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
52
wortlen.c
52
wortlen.c
@ -2,37 +2,53 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#define MAX_WORDLENGTH 100
|
#define MAX_WORDLENGTH 100
|
||||||
|
#define MAX_TEXT_LENGTH 1000
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
char dateiname[256]; // Puffer für den Dateinamen
|
||||||
|
|
||||||
|
printf("Bitte gib den Dateinamen ein (z.B. text.txt oder Pfad): ");
|
||||||
|
scanf("%255s", dateiname); // Dateinamen von Tastatur einlesen und Begrenzung auf 255 Zeichen schützt vor Pufferüberläufen
|
||||||
|
|
||||||
|
FILE *file = fopen(dateiname, "r"); // Datei öffnen
|
||||||
|
if (file == NULL) {
|
||||||
|
perror("Fehler beim oeffnen der Datei"); // Überprüfen ob die Eingabe stimmt
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int frequency[MAX_WORDLENGTH] = {0};
|
int frequency[MAX_WORDLENGTH] = {0};
|
||||||
char text[1000];
|
char text[MAX_TEXT_LENGTH];
|
||||||
int wordlength = 0;
|
int wordlength = 0;
|
||||||
|
|
||||||
printf("Bitte geben Sie einen Text ein:\n");
|
|
||||||
fgets(text, sizeof(text), stdin);
|
|
||||||
|
|
||||||
for (int i = 0; text[i] != '\0'; i++) { // schleife liest
|
while (fgets(text, sizeof(text), file) != NULL) { // Datei zeilenweis lesen
|
||||||
if (isalnum(text[i])) { //isalnum ueberprueft ob das es ein wort oder zahl ist also kein leerzeichen, satzzeichen
|
for (int i = 0; text[i] != '\0'; i++) {
|
||||||
wordlength++; // zaehlt die buchstaben in dem wort
|
if (isalnum(text[i])) { //isalnum ueberprüft ob das es ein wort oder zahl ist also kein leerzeichen, satzzeichen
|
||||||
} else {
|
wordlength++; // zaehlt die buchstaben in dem wort
|
||||||
if (wordlength > 0) { // wenn das groeßer wird das als wordlength zb 3 buchstaben
|
} else {
|
||||||
frequency[wordlength]++; // dann wird der counter fuer 3 hochgezaelt
|
if (wordlength > 0 && wordlength < MAX_WORDLENGTH) { //überprüft pb ein wort gezählt werden kann (überschreitet micht max Wortlänge)
|
||||||
wordlength = 0; // um das naechste wort zu zaehlen
|
frequency[wordlength]++; //Erhöht die Häufigkeit für die aktuelle Wortlänge
|
||||||
|
wordlength = 0; //Setzt den Zähler für die Wortlänge zurück für das nächste Wort
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Letztes Wort in der Zeile nicht vergessen
|
||||||
|
if (wordlength > 0 && wordlength < MAX_WORDLENGTH) {
|
||||||
|
frequency[wordlength]++;
|
||||||
|
wordlength = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fclose(file); // Datei schließen
|
||||||
|
|
||||||
if (wordlength > 0) {
|
// Ergebnis ausgeben
|
||||||
frequency[wordlength]++; // das ist fuer das letzt wort damit es gezaehlt wird
|
printf("\nHaeufigkeitsverteilung der Wortlaengen:\n");
|
||||||
}
|
for (int i = 1; i < MAX_WORDLENGTH; i++) { //geht alle wortlängen durch
|
||||||
|
|
||||||
printf("Haeufigkeitsverteilung der Wortlaengen:\n");
|
|
||||||
for (int i = 1; i < MAX_WORDLENGTH; i++) { // geht von 1-100 und schaut welche wortlaengen vorhanden sind
|
|
||||||
if (frequency[i] > 0) {
|
if (frequency[i] > 0) {
|
||||||
printf("Wortlaenge %d: %d\n", i, frequency[i]); // printet die anzahl
|
printf("Wortlaenge %d: %d\n", i, frequency[i]); // überprüft die häufigkeit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
BIN
wortlen.exe
BIN
wortlen.exe
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user