Code:
#include <iostream>
using namespace std;
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
char text [100][80]; // Text mit 100 Zeilen zu je 80 Zeichen
int wert[26];
int i=0;
int y=0;
int anzahl=0;
void main(void)
{
int zeilen = 17;
strcpy(text[0],"Uebersicht des Zustands von Europa zur Zeit des ersten Kreuzzugs");
strcpy(text[1],"Der europaeische Okzident, in so viele Staaten er auch zerteilt ist,");
strcpy(text[2],"gibt im elften Jahrhundert einen sehr einfoermigen Anblick.");
strcpy(text[3],"Durchgaengig von Nationen in Besitz genommen, die zur Zeit ihrer");
strcpy(text[4],"Niederlassung ziemlich auf einerlei Stufe gesellschaftlicher Bildung standen,");
strcpy(text[5],"im Ganzen denselben Stammescharakter trugen und bei Besitznehmung");
strcpy(text[6],"des Landes in einerlei Lage sich befanden, haette er seinen");
strcpy(text[7],"neuen Bewohnern ein merklich verschiedenes Lokal anbieten muessen, wenn sich");
strcpy(text[8],"in der Folge der Zeit wichtige Verschiedenheiten");
strcpy(text[9],"unter denselben haetten aeussern sollen.");
strcpy(text[10],"Aber die gleiche Wut der Verwuestung, womit diese Nationen ihre Eroberung");
strcpy(text[11],"begleiteten, machte alle noch so verschieden bewohnten,");
strcpy(text[12],"noch so verschieden bebauten Laender, die der Schauplatz");
strcpy(text[13],"derselben waren, einander gleich, indem sie alles, was sich in ihnen vorfand,");
strcpy(text[14],"auf gleiche Weise niedertrat und vertilgte und ihren neuen Zustand");
strcpy(text[15],"mit demjenigen, worin sie sich vorher befunden, fast au¯er aller Verbindung");
strcpy(text[16],"setzte.");
for(i=0;i<26;i++)
{
wert[i]=0;
}
printf("Uebung 3\n\n");
for(i=0;i<zeilen;i++)
{
printf("%s\n",text[i]);
}
printf("\n");
for(i=0;i<zeilen;i++)
{
for(y=0;y<80;y++)
{
text[i][y] = tolower(text[i][y]);
if((text[i][y] > 96) && (text[i][y] < 123))
{
wert[text[i][y]-97]=wert[text[i][y]-97]+1;
anzahl++;
}
}
}
printf("\nes wurden %i Buchstaben gelesen.\n\n",anzahl);
for(i=0;i<26;i++)
{
printf("%c\t %i\t %3.2f\t|",i+97-32,wert[i],(float)100/anzahl*wert[i]);
for(y=0;y<(float)100/anzahl*wert[i];y++)
{
printf("*");
}
printf("\n");
}
printf("ENDE\n\n");
system("pause");
}
es währ vielleicht schöner wenn das Zeichenzählen in einer extra Funktion geschehen würde, aber naja.
Das is übrigends ein C++/C Code - ich denke, dass du genau das brauchst... - ich nehme mal stark an wir gehen in die gleiche Schule - wenn nicht sogar in die gleiche Klasse
Könnt natürlich auch sein, dass es eine Standardaufgabe ist...
Lesezeichen