program do dodawania tekstu

0

Potrzebuje bardzo pilnie pomocy
Szukam kogoś kto mógłby napisać dla mnie program w języku C który będzie dodawał tekst do drugiego bez użycia funkcji strncat.
Wiem że to niezbyt w porządku że proszę o cały kod ale moje umiejętności programowania pozostawiają wiele do życzenia, a program ten potrzebny jest mi do zaliczenia przedmioty który nie jest że tak powiem moim kierunkowym jednak zaliczyć go muszę dlatego bardzo proszę o pomoc.

1

Oczekujesz pomocy czy rozwiązania za Ciebie?

  1. Jeśli pomocy: pokaż kod, staraj się zastosować do [Dlaczego nikt nie odpowiada w moim wątku][1]
  2. Jeśli wykonania za Ciebie: [Ogłoszenia drobne][2] (jestem w stanie wykonać zadanie za zaledwie 250zł)
    [1]: Dlaczego nikt nie odpowiada w moim wątku?
    [2]: https://4programmers.net/Forum/Og%C5%82oszenia_drobne
0

Szukaj implementacji funkcji strncat w google
"strncat implementation"
u mnie 4 link od gory, copy paste i 250 zostaje w kieszeni

ew uzyj strcat

0

jako taki upośledzony możesz sobie zrobić funkcję, co będzie zwracać pierwszy i drugi string tak jakby był jednym, a będzie funkcją, co przyjmie kilka stringów wtedy za jednym zamachem to zrobisz.

A wygląda to w środku tak, że printf pierwszy print drugi i nikt nic nie wie, ale na ekranie jest to czego oczekiwałeś.
Łączenie to nic innego jak występowanie jeden bajt po drugim szeregowo, ale ja tak tylko sądzę, bo tak naprawdę to nie ma takiej definicji.

Żałuję, że nie poszedłem na studia, macie takie proste zadania, a każdy mówi, że jest ciężko.
Nawet upośledzony dałby radę jakby przeczytał ze zrozumieniem, albo chociaż by spróbował rozwiązać.

0
kq napisał(a):

Oczekujesz pomocy czy rozwiązania za Ciebie?

  1. Jeśli pomocy: pokaż kod, staraj się zastosować do [Dlaczego nikt nie odpowiada w moim wątku][1]
  2. Jeśli wykonania za Ciebie: [Ogłoszenia drobne][2] (jestem w stanie wykonać zadanie za zaledwie 250zł)
    [1]: Dlaczego nikt nie odpowiada w moim wątku?
    [2]: https://4programmers.net/Forum/Og%C5%82oszenia_drobne

Mam taki program jednak zamiast łączyć tekst z tekstem drugiej tablicy on wyśiwetla tylko ten z drugiej

#include <stdio.h>

void strncat (char *s, char *t, int n) {

s = (char*)malloc (strlen(t) + 1);


while (*s != '\0') // move pointer
    s++;

int count = 0;

while (++count <= n)
    *s++ = *t++;

*(++s) = '\0';
}

int main () {
char *t = " Bluish";
char *s = "Red and";

 printf ("Before concat: %s\n", s);

strncat(s, t, 4);


printf ("After concat: %s\n", s);

return 0;
}
0

Jeżeli nie masz w zadaniu, żeby używać wskaźnikologii, to używaj indeksów. Pierwsze co robisz w swojej funkcji, to niszczysz jednego ze stringów mallocem. A pamięć trzeba zwolnić. Nie komplikuj sobie życia.

void strncat2(char *s, char *t, int n)
{
    int start = 0, i = 0;

    while(s[start++] != '\0');//sprawdzamy jak dlugi jest pierwszy wyraz

    start -= 1; //nadpiszemy w docelowym stringu znak konca wyrazu

    while(t[i] != '\0' && i < n)
    {
        s[start++] = t[i++];//dopisujemy znak po znaku z t do s tak dlugo, az t sie skoczy lub dopisalismy juz wystarczajaco duzo
    }

    s[start] = '\0'; //konczymy stringa
}

/*tak trzeba stworzyc stringi*/
char *t[20];
char *s[20];

strcpy(t, " Bluish");
strcpy(s, "Red and");

Prościej chyba się nie da.

1 użytkowników online, w tym zalogowanych: 0, gości: 1