Új hozzászólás Aktív témák

  • RexpecT

    addikt

    Sziasztok!

    Lenne két kérdésem.
    Az első:
    Írjunk függvényt, amely az 1. paraméterében megkap egy
    string-et, a 2. paraméterében a string '\0' karakter nélküli
    hosszát, és a 3. paraméterében egy számot (m).
    Ha m=0 vagy m<0, akkor adjon vissza NULL értéket.
    Egyébként adjon vissza egy új string-et, amelyet s-ből állítunk
    elő úgy, hogy minden m. karaktert nagybetűsen hagyunk meg belőle,
    a többi karaktert kisbetűsen. Az angol ABC betűin kívül csak a
    számjegy karaktereket hagyjuk meg!
    Az új string maximális hossza legyen n+1.
    A függvényt próbáld is ki konkrétan egy main() programban.

    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <string.h>
    char *szoveg(char *s, int n,int m)
    {
    int i,k=0;
    char *t;
    t=(char*)calloc(n+1,sizeof(char));
    if (m<=0)
    return NULL;
    for (i=0;i<n;i++)
    {
    if (isalnum(s[i]))
    {
    if (((i+1)%m)==0)
    t[k++]=toupper(s[i]);
    else
    t[k++]=tolower(s[i]);
    }
    }
    t[k]='\0';
    return t;
    }

    int main()
    {
    char s[]="TesZtSzoveg19SzovegTeSZt**éáéáéá43242SzovegszoveGszoVeg323",*s2;
    s2=szoveg(s,strlen(s),3);
    puts(s2);
    system("PAUSE");
    return 0;
    }

    A karaktertömb deklarálásánál mire szolgál *s2 mutató?

    A második:
    //7. Másold át a listaelemeket a t tömbbe!
    int *masol(LISTA list){
    ELEM *e;
    int n = elemszam(list), idx = 0;
    int *t=(int*)malloc(n * sizeof(int));
    //Járd be a láncot a szokott módon. A cikluson belül másold az elemet, és növeld a tömb indexet!
    for( e = list.fej;e;e=e->kov)
    {
    t[idx]=e->adat;
    ++idx;
    }
    return t;
    }

    Hogyan tudom kiíratni a tömb összes elemét?
    :R

Új hozzászólás Aktív témák