Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » kopierte e zählen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.01.2009, 20:14 Uhr
~Hilfe
Gast


Habe folgende Aufgabe zu bewältigen:

Schreiben Sie eine Funktion die in einem übergebenen String in einen anderen kopiert und dabei die Anzahl der kopierten ’e’ zählt und deren Anzahl zurückgibt.

Den String zu kopieren habe ich schon umgesetzt:


C++:
#include <iostream>
#include <string.h>

using namespace std;

int main()
{
  char buff1[30];

  strcpy(buff1, "Dies ist ein Test.");

  cout << buff1 << endl;

  char buff2[] = "Ein zweiter String.";

  strcpy(buff1, buff2);
  cout << buff1 << endl;
  system("Pause");
}



Jetzt muss ich noch die e zählen. Ich muss dazu sagen dass dies in einer for oder while shleife passieren soll. Ich weiß in c++ kennt auch strings aber ich brauche es nunmal so.
Ich soll auch keinen std::string verwenden.
Für jede Hilfe bin ich dankbar.


Bearbeitung von 0xdeadbeef:

cpp-tags eingefügt, Code eingerückt. Nächstes mal selbst machen.


Dieser Post wurde am 15.01.2009 um 22:04 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.01.2009, 20:47 Uhr
öni



wenn du weist was ne for-Schleife ist, dann kannst über die jedes einzelne Zeichen eines Strings überprüfen ob ein 'e' vorkommt. Wobei glaube ich der Aufgabensteller bestimmt nicht gedacht hat das man zum kopieren strcpy nutzen soll, sonder schätzungsweise jedes Zeichen einzeln kopiert, und dabei kann man auch gleich zählen wie viele 'e' vorkommen, man benötig also nur eine for-Schleife.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.01.2009, 21:04 Uhr
Hans
Library Walker
(Operator)


Hi,

Zitat von öni:
Wobei glaube ich der Aufgabensteller bestimmt nicht gedacht hat das man zum kopieren strcpy nutzen soll,

das sehe ich auch so. Das steht ja auch:

Zitat:
Schreiben Sie eine Funktion...

was ich so verstehe, das man die Funktion zum kopieren selber schreiben soll.

Zitat von öni:
sonder schätzungsweise jedes Zeichen einzeln kopiert, und dabei kann man auch gleich zählen wie viele 'e' vorkommen, man benötig also nur eine for-Schleife.

Genau. Also:
C++:
for(int i,ec=i=0;!(*pstr+i);*(pstr+i)=='e'?ec++:ec+=0,i++)

oder so ähnlich... (Das kann Beefy eindeutig besser... )

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 15.01.2009 um 21:08 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.01.2009, 22:11 Uhr
0xdeadbeef
Gott
(Operator)


Ich würde dafür wohl std::count benutzen. Ich gehe aber auch davon aus, dass das für eine derartige Aufgabe nicht akzeptabel ist; ich vermute außerdem, dass auch das Kopieren des Strings nicht mit strcpy gedacht war. Jedenfalls gehört ein Lehrer, der seinen Schülern Stringbehandlung in C++ mit C-Funktionen beibringt, seines Amtes enthoben.

Also, womit gibt's denn genau Probleme? Du erwartest ja sicherlich nicht, dass wir dir deine Hausaufgaben einfach abnehmen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: