Bon soir...
hab mal wieder nen problem...also, mein lieber prof hat uns das hier vorn latz geknallt...un ich check des einfach nich so richtig...bräuchte da ma bissl hilfe
Das Programm hat keinen höheren sinn. Es wird einfach nur die Häufigkeit von eingegebenen Namen geprüft...
Meine Komilitonen können mir da auch nich weiterhelfn, die verstehn noch weniger als ich und die höheren Semstler zu fragn, hat mir auch nich den erhofften erfogl gebracht
ich fang einfach mal an, zu schreiben, was ich denke, was die zeilen machen und hoffe, dass mir dann jmd sagt ob ich richtig liege
Zeile 14 macht mir besonder zu schaffn....!
7 es wird eine Struktur angelegt mit typName pair un den nachfolgenden variablen
zeile 9, is das ein pointer mit bezeichnung name, die einen character wert zurückgibt?...ich kenn das nur so char *name und nicht char* name ?!?
12 Struktur mit Variablenbezeichner vec wird angelegt, ist ein Array mit größe 1025
14 Pointervariable find, vom Typ pair.....was macht * nach pair ??
16 for schleife, mit abbruchbedingung, eingegebener name gefundn
17 vergleicht ob p mit vec.name übereinstimmt, liefert bei gleichheit eine 0
19 adresse von vec wird zurückgegeben (die an der name steht ??? )
22/23 so, das peil ich dann auch nich, wieso will er large-1 zurückgebn? für sentinel?
26 hier hab ich wieder das proble,dass ich nich weiß, wo das * hingehört... ERKLÄRUNG
27 res zeigt auf Adresse von dem eingegeben name, auf den p zeigt, res ist ein pointer vom typ pair
28 neues paar anlegen, es wird genauso so viel Speicheplatz reserviert wie benötigt
30 das strcpy is mir auhc nich so ganz klar...
31 res, welches auf die struktur val zeigt, wird zurückgegeben
37 wieso kann hier dasn & vor buf weggelassn werdn...?
39 solange kein "." eingegeben wird, ist das eine endlosschleife
40 ?????? gibt einen zeiger zurück auf Zeile in Tabelle wo value steht ?
was wird da erhöhr...könnte mir bitte einer da ne explizite erklärung geben, zu dieser zeile?
44 was ist die Abbruchbedingung dieser Schleife?
45 name un dessen häufigkeit werden ausgegeben
so...ich hoffe, irgendwer checkt dsa hier, un bringt mir das en bissl näher
dickn dank im voraus
hab mal wieder nen problem...also, mein lieber prof hat uns das hier vorn latz geknallt...un ich check des einfach nich so richtig...bräuchte da ma bissl hilfe
Das Programm hat keinen höheren sinn. Es wird einfach nur die Häufigkeit von eingegebenen Namen geprüft...
Meine Komilitonen können mir da auch nich weiterhelfn, die verstehn noch weniger als ich und die höheren Semstler zu fragn, hat mir auch nich den erhofften erfogl gebracht
ich fang einfach mal an, zu schreiben, was ich denke, was die zeilen machen und hoffe, dass mir dann jmd sagt ob ich richtig liege
Zeile 14 macht mir besonder zu schaffn....!
PHP:
1.#include <stdio.h>
2.#include <stdlib.h>
3.#include <string.h>
4.
5.#define large 1024
6.
7. struct pair{
8.
9. char* name;
10. int val;
11. };
12. struct pair vec[large+1];
13.
14. struct pair* find(const char*p){
15. int i;
16. for (i=0; vec[i].name; i++)
17. if(strcmp(p, vec[i].name)==0)
18.
19. return &vec[i];
20.
21. if (i==large)
22. return &vec[large-1];
23. return &vec[i];
24. }
25.
26. int* value(const char* p){
27. struct pair* res = find(p);
28. if (res->name==0){
29. res->name = malloc(strlen(p)+1);
30. strcpy(res->name,p);
}
31. return &res->val;
32. }
33.
34. int main () {
35. char buf [256];
34. int i;
35. printf("Haeufigkeit eingegebener Woerter (Abschliessen mit \".\")\n");
36.
37. scanf("%s", buf);
38.
39. while (buf[0]!='.'){
40. (*value(buf))++, scanf("%s",buf);
41. }
42.
43. printf("\n");
44. for (i=0; vec[i].name; i++)
45. printf("%s: %u\n", vec[i].name, vec[i].val);
46.
47. return EXIT_SUCCESS;
48.}
7 es wird eine Struktur angelegt mit typName pair un den nachfolgenden variablen
zeile 9, is das ein pointer mit bezeichnung name, die einen character wert zurückgibt?...ich kenn das nur so char *name und nicht char* name ?!?
12 Struktur mit Variablenbezeichner vec wird angelegt, ist ein Array mit größe 1025
14 Pointervariable find, vom Typ pair.....was macht * nach pair ??
16 for schleife, mit abbruchbedingung, eingegebener name gefundn
17 vergleicht ob p mit vec.name übereinstimmt, liefert bei gleichheit eine 0
19 adresse von vec wird zurückgegeben (die an der name steht ??? )
22/23 so, das peil ich dann auch nich, wieso will er large-1 zurückgebn? für sentinel?
26 hier hab ich wieder das proble,dass ich nich weiß, wo das * hingehört... ERKLÄRUNG
27 res zeigt auf Adresse von dem eingegeben name, auf den p zeigt, res ist ein pointer vom typ pair
28 neues paar anlegen, es wird genauso so viel Speicheplatz reserviert wie benötigt
30 das strcpy is mir auhc nich so ganz klar...
31 res, welches auf die struktur val zeigt, wird zurückgegeben
37 wieso kann hier dasn & vor buf weggelassn werdn...?
39 solange kein "." eingegeben wird, ist das eine endlosschleife
40 ?????? gibt einen zeiger zurück auf Zeile in Tabelle wo value steht ?
was wird da erhöhr...könnte mir bitte einer da ne explizite erklärung geben, zu dieser zeile?
44 was ist die Abbruchbedingung dieser Schleife?
45 name un dessen häufigkeit werden ausgegeben
so...ich hoffe, irgendwer checkt dsa hier, un bringt mir das en bissl näher
dickn dank im voraus