Anfänger suchen Aufgaben
-
Geil danke schön für den Tipp,
sieht doch jetzt mal viel besser aus so macht dat schon mehr spaß
-
Ich hätte gerne die möglichkeit einen Satz einzugeben und das Programm soll mir sagen wieviele Vokale (aufgesplittet) sich in diesem Satz befinden. Also Anzahl von A usw. ebenfalls möchte ich eine Anzahl der Konsonanten haben. Die eingabe des Satzes soll mit einem Punkt beendet werden.
Sitz schon ne weile vor'm Schirm und ich habe immer noch nichts hinbekommen
Außer vielleicht scanf() auf dein Teilproblem angepasst:scanf("%99[^.]",satz);
strchr und strpbrk hilft mir au nich weiter...
Ich brauche irwas mit der die Stringstelle als "Array-Index" zurückgegeben wird sprich: wenn a in array[index] lokalisiert is, gib mir den aktuellen index.
Dann sollte ich die Aufgabe auch lösen könnenGrüße
agi
-
oder einfach nen switch case und ne while schleife :p
-
PRIEST schrieb:
oder einfach nen switch case und ne while schleife :p
und das ohne den Header string.h ? Hmmm...
char array[5]={"Test"};
if(array[1]=='a') // Hier wird ja irwas mit a verglichen, aber nich der Buchstabe e :p
{
...
...
...Grüße
agi
-
geht mir ja um ne eingabe und wärent dessen soll geprüft werden also
solange eigegeben wird
überprüfe die eingabe und ordne sie dem entsprechenden case zu
wenn der case punkt eintrifft geh aus der schleifeso wäre doch auch ganz ok, oda
-
ja das problem is doch, dass beim Vergleich irein Wert mit a verglichen wird also in dem Fall nich wie erwartet ist e == a sondern ist irein Zahlenwert == a ? Und deshalb geht das leider nich... (bei mir ging das zumindest nich)
char array[5]={"test"} ;
if(array[1]=='a')
{count++;
}
...
...ja klar wenn das gehen würde, würde ich ja au switch einsetzen, aber es geht ja nich...
Grüße
agi
-
Hi,
aXYZn schrieb:
So GNU-Fan, hier ist dein Programm
Gleich die nächste Aufgabe: Ich kann mich leider nicht entscheiden, welches Betriebssystem ich verwenden soll. Manchmal verwende ich zwar Windows, manchmal aber auch MacOS X, GNU/Linux und viele, viele andere.
Kannst Du das Programm für GNU-Fan so umschreiben, dass es auf all meinen Lieblingsbetriebssystemen kompiliert und läuft?
-
nman schrieb:
Kannst Du das Programm für GNU-Fan so umschreiben, dass es auf all meinen Lieblingsbetriebssystemen kompiliert und läuft?
das ist unmöglich
-
Das ganze Problem hört schreit quasi nach einer Lösung mit Bucket-Sort oder ?
-
general bacardi schrieb:
das ist unmöglich
Ich glaube er meint, das GetAsyncKeyState...
Das ganze Problem hört schreit quasi nach einer Lösung mit Bucket-Sort oder ?
Welches Prob. das von nman oder PRIEST ?
Grüße
agiEdit:
aXYZn schrieb:
ja klar wenn das gehen würde, würde ich ja au switch einsetzen, aber es geht ja nich...
Oh, es geht ja wirklich. Ich hatte unrecht sry PRIEST
#include <stdio.h> #include <stdlib.h> int main() { char string[]={"Test"}; if(string[0]=='T') { printf("Glueckwunsch\n"); } else { printf("Looser!"); } system("PAUSE"); return 0; }
Ich bekam die Ausgabe Glueckwunsch xD
-
aXYZn schrieb:
Ich glaube er meint, das GetAsyncKeyState...
Mit C++ keine Chance. Muss für jedes Sytem neu kompilieret werden. Mit Interpretersprachen wie Java, Python geht es
-
PRIEST schrieb:
Ich hätte gerne die möglichkeit einen Satz einzugeben und das Programm soll mir sagen wieviele Vokale (aufgesplittet) sich in diesem Satz befinden. Also Anzahl von A usw. ebenfalls möchte ich eine Anzahl der Konsonanten haben. Die eingabe des Satzes soll mit einem Punkt beendet werden.
Puh, so PRIEST hier is dein Programm :
#include <stdio.h> #include <stdlib.h> #include <string.h> void voc_check(char string[], int voc[], int *n) { int i; for(i=0;i<=*n;i++) { if(string[i]!='a'&&string[i]!='e'&&string[i]!='i'&&string[i]!='o'&&string[i]!='u') { continue; } if(string[i]=='a') { voc[0]++; continue; } if(string[i]=='e') { voc[1]++; continue; } if(string[i]=='i') { voc[2]++; continue; } if(string[i]=='o') { voc[3]++; continue; } if(string[i]=='u') { voc[4]++; continue; } } } void voc_big(char string[], int voc[], int *n) { int i; for(i=0;i<=*n;i++) { if(string[i]!='A'&&string[i]!='E'&&string[i]!='I'&&string[i]!='O'&&string[i]!='U') { continue; } if(string[i]=='A') { voc[0]++; continue; } if(string[i]=='E') { voc[1]++; continue; } if(string[i]=='I') { voc[2]++; continue; } if(string[i]=='O') { voc[3]++; continue; } if(string[i]=='U') { voc[4]++; continue; } } } void kon_check(char string[], int *n,int kons[]) { int i; for(i=0;i<= *n;i++) { if(string[i]!='b'&&string[i]!='c'&&string[i]!='d'&&string[i]!='f'&&string[i]!='g'&&string[i]!='h'&&string[i]!='j'&&string[i]!='k'&&string[i]!='l'&&string[i]!='m'&&string[i]!='n'&&string[i]!='p'&&string[i]!='q'&&string[i]!='r'&&string[i]!='s'&&string[i]!='t'&&string[i]!='v'&&string[i]!='w'&&string[i]!='x'&&string[i]!='y'&&string[i]!='z') { continue; } if(string[i]=='b') { kons[0]++; continue; } if(string[i]=='c') { kons[1]++; continue; } if(string[i]=='d') { kons[2]++; continue; } if(string[i]=='f') { kons[3]++; continue; } if(string[i]=='g') { kons[4]++; continue; } if(string[i]=='h') { kons[5]++; continue; } if(string[i]=='j') { kons[6]++; continue; } if(string[i]=='k') { kons[7]++; continue; } if(string[i]=='l') { kons[8]++; continue; } if(string[i]=='m') { kons[9]++; continue; } if(string[i]=='n') { kons[10]++; continue; } if(string[i]=='p') { kons[11]++; continue; } if(string[i]=='q') { kons[12]++; continue; } if(string[i]=='r') { kons[13]++; continue; } if(string[i]=='s') { kons[14]++; continue; } if(string[i]=='t') { kons[15]++; continue; } if(string[i]=='v') { kons[16]++; continue; } if(string[i]=='w') { kons[17]++; continue; } if(string[i]=='x') { kons[18]++; continue; } if(string[i]=='y') { kons[19]++; continue; } if(string[i]=='z') { kons[20]++; continue; } } } void kon_big(char string[], int *n,int kons[]) { int i; for(i=0;i<= *n;i++) { if(string[i]!='B'&&string[i]!='C'&&string[i]!='D'&&string[i]!='F'&&string[i]!='G'&&string[i]!='H'&&string[i]!='J'&&string[i]!='K'&&string[i]!='L'&&string[i]!='M'&&string[i]!='N'&&string[i]!='P'&&string[i]!='Q'&&string[i]!='R'&&string[i]!='S'&&string[i]!='T'&&string[i]!='V'&&string[i]!='W'&&string[i]!='X'&&string[i]!='Y'&&string[i]!='Z') { continue; } if(string[i]=='B') { kons[0]++; continue; } if(string[i]=='C') { kons[1]++; continue; } if(string[i]=='D') { kons[2]++; continue; } if(string[i]=='F') { kons[3]++; continue; } if(string[i]=='G') { kons[4]++; continue; } if(string[i]=='H') { kons[5]++; continue; } if(string[i]=='J') { kons[6]++; continue; } if(string[i]=='K') { kons[7]++; continue; } if(string[i]=='L') { kons[8]++; continue; } if(string[i]=='M') { kons[9]++; continue; } if(string[i]=='N') { kons[10]++; continue; } if(string[i]=='P') { kons[11]++; continue; } if(string[i]=='Q') { kons[12]++; continue; } if(string[i]=='R') { kons[13]++; continue; } if(string[i]=='S') { kons[14]++; continue; } if(string[i]=='T') { kons[15]++; continue; } if(string[i]=='V') { kons[16]++; continue; } if(string[i]=='W') { kons[17]++; continue; } if(string[i]=='X') { kons[18]++; continue; } if(string[i]=='Y') { kons[19]++; continue; } if(string[i]=='Z') { kons[20]++; continue; } } } int main() { int n, voc[5]={0,0,0,0,0}, kon[21]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // a,e,i,o,u char string[100]; scanf("%99[^.]",string); fflush(stdin); n=strlen(string); voc_check(string,voc,&n); kon_check(string,&n,kon); voc_big(string,voc,&n); kon_big(string,&n,kon); printf("\n"); printf("Vokale:\na: %d e: %d i: %d o: %d u: %d\n",voc[0],voc[1],voc[2],voc[3],voc[4]); printf("Konsonanten:\nb: %d c: %d d: %d f: %d g: %d\nh: %d j: %d k: %d l: %d m: %d\nn: %d p: %d q: %d r: %d s: %d\nt: %d v: %d w: %d x: %d y: %d\nz: %d\n",kon[0],kon[1],kon[2],kon[3],kon[4],kon[5],kon[6],kon[7],kon[8],kon[9],kon[10],kon[11],kon[12],kon[13],kon[14],kon[15],kon[16],kon[17],kon[18],kon[19],kon[20]); printf("\n"); system("PAUSE"); return 0; }
Kleine Anmerkung:
Von allen Aufgabenstellern musste der arme PRIEST am längsten warten,
nur weil ich geglaubt habe string[2]=='a' irwas anderes vergleicht als den einzelnen charAch und mir war nich so nach switch, darum die if's
Grüße
agi
-
general bacardi schrieb:
aXYZn schrieb:
Ich glaube er meint, das GetAsyncKeyState...
Mit C++ keine Chance. Muss für jedes Sytem neu kompilieret werden. Mit Interpretersprachen wie Java, Python geht es
Hmmm... nman falls du das tatsächtlich meinen solltest, dann solltest du die Aufgabe neu stellen bzw. umändern.
Grüße
agi
-
Hallo werds morgen oder so mal ausführen
Habe es gerade mal überflogen, ein paar sachen könnte man doch zusammen füge. zb. voc_check und voc_biggrüße
-
aXYZn: Hab mir weder den Thread, noch die Aufgabenstellung durchgelesen, aber du kannst den Code erheblich verkleinern, wenn du Vokale und Konsonanten zuerst gemeinsam behandelst und dann kein switch benutzt, sondern den momentanen Buchstaben einfach als Index:
letter[i - 'a']++; // bzw. für die großen Buchstaben: letter[i - 'A']++;
-
Hehe das CHAR ein Numerischer DatenTyp ist vergessen die meisten
-
general bacardi schrieb:
Mit C++ keine Chance. Muss für jedes Sytem neu kompilieret werden. Mit Interpretersprachen wie Java, Python geht es
Hä? Was bitteschön meinst Du? Ich hatte folgendes geschrieben:
Kannst Du das Programm für GNU-Fan so umschreiben, dass es auf all meinen Lieblingsbetriebssystemen kompiliert und läuft?
aXYZn: Tip: Schreib es so um, dass man den eingegebenen Buchstaben mit Enter bestätigen muss, dafür kannst Du Standard-C verwenden, ohne irgendwelche plattformspezifischen Konstrukte. (Und selbst wenn Du unbedingt bei der Lösung ohne Bestätigung durch Enter bleiben möchtest, kannst Du das ganze mit ein bisschen Mehraufwand portabel schreiben.)