Algorithmus für Textanalyse

zyclop

Erfahrenes Mitglied
Ich wollte fragen ob mir jemand ein struktogramm erstellen kann zu eiener aufgabe. Ich werde die Aufgabe dann in C umsetzen. Hier die Aufgabenstellung:

Entwickeln Sie ein Programm, welches einen einzugebenden Text auf die Anzahl der auftretenden Buchstaben hin untersucht. Dabei soll die Menge jedes Buchstabens in Prozenten zur Gesamtzahl der Buchstaben ausgegeben werden.

Kann mir da jemand helfen
 
Ich hoffe, du kannst (etwas) PHP:
PHP:
<?php

	$string = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam a tortor. Aenean nunc magna nullam.';
	$strlen = strlen($string);
	$chars = array();

	// jedes Zeichen der Zeichenkette wird durchlaufen
	for( $i=0; $i<$strlen; $i++ ) {
		// Prüfung auf Existenz des Zeichens im Zeichen-Array ($chars)
		if( isset($chars[$string{$i}]) ) {
			// falls es bereits existiert, wird der Zähler um eins erhöht
			$chars[$string{$i}]++;
		} else {
			// andernfalls wird ein zusätzliches Element angehängt
			$chars[$string{$i}] = 1;
		}
	}

	// Array-Elemente werden ihren Werten (Auftreten) nach geordnet
	arsort($chars);
	// Ausgabe der Zeichen-Arrays
	print_r($chars);

?>
Die Berechnung des prozentualen Anteils des Auftretens eines Zeichens wirst du selbst schaffen.
 
Was bedeuten die $ Zeichen?
Kannst du die Variablen deklarieren/beschreiben
Datentyp sind string und chaR? bei C glaub ich ist das dass selbe
Was bedeutet isset

Ich habe zwar keine ahnung von PHP aber ich verstehen tu ich es glaub ;-]
 
mit $ kann man eine varible Definieren ....
PHP kennt zwar Dateitypen, aber keiner nutzt die ;)
also:
int, char, long, double ...
PHP entscheidet selbst welche er nimmt ...
 
Gibt es den befehl auchg in C hab keinen gefunden Man muss aber auch angeben welche Zeichen er überprüfen soll. von A bis Z...hmmm
 
Hi.
zyclop hat gesagt.:
Gibt es den befehl auchg in C hab keinen gefunden Man muss aber auch angeben welche Zeichen er überprüfen soll. von A bis Z...hmmm
Nein, den Befehl isset gibt es in C natürlich nicht. Wenn du Variablen in C nicht initialisierst haben sie entweder einen Standardwert (bei globalen Variablen) oder einen Zufallswert.

Es gibt keine Möglichkeit in C zu überprüfen ob eine Variable initialisiert wurde oder nicht. Desweiteren sind Arrays in C statische Speicher, d.h. man kann die Größe nicht so einfach ändern wie in PHP.

In C gibt es die Funktion isalpha() die einen Wahrheitswert zurückgibt ob ein Zeichen ein Buchstabe ist oder nicht. (#include <ctype.h>)

Du kannst ja einfach ein int Array von 256 Elementen anlegen. Da kannst du zumindest erstmal jedes Zeichen zählen. Für die Zeichen die Buchstaben sind gibst du dann nachher die Anzahl / Prozentzahl aus.

Gruß
 

Neue Beiträge

Zurück