Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Funktion substring

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
18.11.2017, 21:00 Uhr
noldarxy



Hallo zusammen,

ich bin neu hier und kämpfe seit einiger Zeit mit folgendem Problem:


Eine häufig anfallende Aufgabe in der Textverarbeitung ist das Suchen von Zeichenketten in einem Text. Im Rahmen dieser Aufgabe sollen Sie eine C-Funktion schreiben, die in einer vorgegebenen Zeichenkette die ersten n Vorkommen einer anderen Zeichen-kette ermittelt. Die gefundenen Stellen sollen in Form von Zeigern auf den jeweiligen Anfang der Teilzeichenkette zurückgegeben werden. Erstellen Sie dazu die C-Funktion int substrings ( char* str, char* substr, char** ptr, int n )str soll die Zeichenkette aufnehmen, in der die ersten n Vorkommen der Zeichenkette substr gesucht werden. Die Anzahl k der gefundenen Vorkommen (0 <= k <=n) wird als Funktionswert zurückgegeben. Die Zeigerptr[0], ptr[1], . . . , ptr[k−1]
verweisen dann auf diese Vorkommen.
Schreiben Sie dazu dann ein kleines Programm, um die Funktion zu testen.


Hier steht was ich gemacht habe


C++:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int substrings(char* str, char* substr, char* ptr[], int 10);

int main()
{
    char* str="Rokokokommode";

    char* substr="oko";
    char* s;
    char* ptr[10];
    int k=0;

    s= substrings(str,substr);
    
    printf("%s",s);
    
    return 0;
}
int substrings(char* str, char* substr, char* ptr[], int 10)
{
    char* s;
    char k++;
    while(s!=NULL)
    {
        for (k=0;k<10;k++)
        {
            ptr[k]=s;,
            k++;
            s=substrings(s+1,substr);
        }

    }

    return k;
}


-----
Edit: cpp-Tags eingefügt

Dieser Post wurde am 18.11.2017 um 22:39 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.11.2017, 22:51 Uhr
Hans
Library Walker
(Operator)



Zitat:
Hier steht was ich gemacht habe

Und wo ist das Problem dabei? - Abgesehen davon, dass Du die Funktion substrings falsch benutzt... (zuwenig Parameter beim Aufruf, falscher Rückgabetyp)
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.11.2017, 06:34 Uhr
noldarxy



hallo,

können sie mir dann bitte helfen? wie sollte ich die Funktion substrings ihrer meiner nach benutzen?

ich habe auch einen Fehler bei der Deklaration der Variable k bemerkt. was ich schon gelöst habe.

ich freue mich auf Antwort
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.11.2017, 16:09 Uhr
Hans
Library Walker
(Operator)


Hi,

ich hab die Fehler beim gebrauch der Funktion doch schon genant. Die Funktion ist dekalriert als:

C++:
int substrings(char* str, char* substr, char* ptr[], int 10);

d.h. sie muss mit 4 Parametern aufgerufen werden. An den Stellen, wo sie aufgerufen wird, steht aber nur:

C++:
s=substrings(s+1,substr);

Da sollte der Compiler meckern, weil 2 Parameter fehlen!
Und was soll eigentlich die Konstante 10 in der Deklaration?

Des weiteren die Variable s. Deklariert als

C++:
char* s;

also s ist ein Zeiger auf einen character. Der Rückgabetyp von substrings ist aber int. Das ist ein Type Mismatch Error, also ein falscher Typ.

Und welchen tieferen Sinn hat eigentlich die Rekursion in substrings?
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 20.11.2017 um 16:25 Uhr von Hans editiert.
 
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: