Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[c] Funkcja wyszukująca pierwsze słowo w tekście

MMarcin1 05 Maj 2009 12:40 1391 3
  • #1 05 Maj 2009 12:40
    MMarcin1
    Poziom 9  

    Czesc. Potrzebuje te funkcje w języku C. Musze napisać je na dużo punktów bo jestem na krawędzi. Bardzo proszę o pomoc. Potrzebuje je na jutro na 12;/

    funkcje o prototypie

    Code:
    struct para * podslowo(const char *s);

    gdzie:
    Code:
    struct para{
    
    const char * pocz;
    const char * kon;
    };


    Funkcja podslowo() w napisie s znajduje pierwsze slowo, tzn ciag znakow nie bedących bialymi znakami, ktorego nie mozna już powiekszyc. Np. w napisie "Ala ma kota." pierwszym slowem jest "Ala".

    Funkcja tworzy strukture para i wpisuje do pola pocz wskaznik na pierwszy znak znalezionego słowa oraz wskaźnik na znak za słowem do pola kon. Wynikiem funkcji jest wskaźnik na tak utworzoną strukturę para.

    Jeśli w napisie nie ma zadnego podslowa, to obydwa pola zawieraja wskazniki na '\0' kończące napis s.
    Jeśli znalezione slowo sięga do konca napisu s, to kon zawiera wskaznik na '\0' kończące napis s.

    Proszę zapoznać się z regulaminem i zasadami działu Programowanie.
    Na forum nie rozwiązujemy zadań domowych, co najwyżej podpowiadamy jak poprawić własne rozwiązanie.
    [Dr.Vee]

  • #2 05 Maj 2009 13:09
    Dr.Vee
    VIP Zasłużony dla elektroda

    Zapoznaj się z funkcjami: malloc() (nagłówek stdlib.h), isspace() (nagłówek ctype.h) oraz z operacjami na wskaźnikach.

    Pozdrawiam,
    Dr.Vee

  • #3 05 Maj 2009 17:35
    redie
    Poziom 15  

    ehhh MMarcin1, pewnie jesteś początkującym ale jeśli miałeś te zagadnienia na zajęciach to napisanie takiego programu chyba nie powinno stanowić problemu.
    Do tego jeszcze podpowiedź Dr.Vee powinna cię naprowadzić na rozwiązanie.

    Masz tutaj mój kod, może ci pomoże :)

    Code:

    #include <stdio.h>
    #include <stdlib.h>
    #include <ctype.h>

    struct para{
           const char * pocz;
           const char * kon;
    };

    struct para * podslowo(const char *s);

    int main(int argc, char *argv[])
    {
      char *tekst="Ala ma kota";
      printf("%s\n",tekst);
      struct para *slowo=podslowo(tekst);
      printf("Poczatek pierwszego wyrazu to znak: '%c'\n",slowo->pocz);
      printf("Koniec pierwszego wyrazu to znak: '%c'\n",slowo->kon);
      system("PAUSE");   
      return 0;
    }

    struct para * podslowo(const char *s){
           struct para *info=malloc(sizeof(struct para));
           int i=0;
           while(s[i]!=0 && isspace(s[i])!=0) i++;
           int j=i;
           while(s[j]!=0 && isspace(s[j])==0) j++;
           info->pocz=s[i];
           info->kon=s[j];
           return info;
    }

  • #4 07 Maj 2009 00:01
    MMarcin1
    Poziom 9  

    U mnie to wyglada tak ze dostaje zadanie i mam je zrobic na nastepne zajęcia;/ i to wszystko. Wielkie dzieki!!

 
Black Friday do -15%
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
Ferguson