21

Re: допоможіть(С++(стрічки))

ось весь код

Прихований текст
#include <iostream>
#include <conio.h>
using namespace std;
int mystrlen(const char*str);
char*mystrcpy(char*str1, const char*str2);
char*mystrcat(char*str1, const char*str2);
char*mystrchr(char*str, char s);
void main() {
    int s = 0;
    setlocale(LC_ALL, "ru");
    const int a = 100;
    char str1[a];
    cout << "Введiть стрiчку : ";
    gets_s(str1);
    /*int n = mystrlen(str1);
    cout << n << "\n";
    char str2[a];
    cout << "Введiть стрiчку : ";
    gets_s(str2);
    char* aaa = mystrcpy(str1, str2);
    cout << str1 << "\n" << str2 << "\n";
    char* aaaa = mystrcat(str1, str2);
    cout << str1 << "\n";*/
    cout << "Введiть символ : ";
    cin >> s;
    char *aaaaa = mystrchr(str1, s);
    puts(aaaaa);
    system("pause");
}
char *mystrchr(char*str1, char s) {
    for (int i = 0; str1[i] != 0; i++) {
        if (str1[i] == s) {
            return &str1[i];
        }
    }
    return nullptr;
}
char*mystrcat(char*str1, const char*str2) {
    int num = 0;
    const int a = 100;
    char str[a];
    for (int i = 0; str1[i] != 0; i++) {
        str[i] = str1[i];
        num++;
    }
    str[num] = '\0';
    int nam = mystrlen(str);
    num = 0;
    for (int i = 0; i < a; i++) {
        if (str1[i] == '\0') {
            str1[i] = ' ';
        }
    }
    int ii = 0;
    for (int i = 0; i < a + a, str2[ii] != 0; i++) {
        if (i < nam) {
            str1[i] = str[i];
            num++;
        }
        if (i > nam) {
            str1[i] = str2[ii];
            ii++;
            num++;
        }
    }
    str1[num] = '\0';
    return str;
}
char*mystrcpy(char*str1, const char*str2) {
    int num = 0;
    const int a = 100;
    char str[a];
    for (int i = 0; str1[i] != 0; i++) {
        str[i] = str1[i];
        num++;
    }
    str[num] = '\0';
    num = 0;
    for (int i = 0; i < a; i++) {
        if (str1[i] == '\0') {
            str1[i] = ' ';
        }
    }
    for (int i = 0; str1[i] != 0; i++) {
        str1[i] = str2[i];
        num++;
    }
    return str;
}
int mystrlen(const char*str) {
    int num = 0;
    for (int i = 0; str[i] != 0; i++) {
        if (str[i] != 0) {
            num++;
        }
    }
    return num;
}

22

Re: допоможіть(С++(стрічки))

зараз в коді Коали завжди помилка а в мене тільки через відладчика була помилка і результату від функції 0

23

Re: допоможіть(С++(стрічки))

а так

char *mystrchr(char*str1, char s) {
    for (int i = 0; str1[i] != 0; i++) {
        if (str1[i] == s) {
            return &str1[i];
        }
    }
    //return nullptr;
}

рядок пробілів виводить

24

Re: допоможіть(С++(стрічки))

і помилка знову тільки в відладчику

25

Re: допоможіть(С++(стрічки))

можливо потрібно бібліотеку?

26

Re: допоможіть(С++(стрічки))

Зокрема, до puts?

Подякували: Parsifal1

27

Re: допоможіть(С++(стрічки))

вже працює я був написав

int s = 0;

а потрібно було

char s = 0;

28

Re: допоможіть(С++(стрічки))

тільки

return nullptr;

розкоментоване не працює,якщо знаходить то працює якщо ні я має повернути 0 то не працює

29

Re: допоможіть(С++(стрічки))

koala написав:

Зокрема, до puts?

вже працює тільки 0 не повертає

30

Re: допоможіть(С++(стрічки))

як  повернути 0?

31 Востаннє редагувалося /KIT\ (23.10.2018 18:15:48)

Re: допоможіть(С++(стрічки))

del

Подякували: Parsifal1

32 Востаннє редагувалося Parsifal (23.10.2018 18:17:21)

Re: допоможіть(С++(стрічки))

/KIT\ написав:

del

не допомагає там помилка
ось скріншот

Post's attachments

Без імені.png 84.69 kb, 74 downloads since 2018-10-23 

33 Востаннє редагувалося Parsifal (23.10.2018 18:22:25)

Re: допоможіть(С++(стрічки))

кіт був написав

return 0;

а пізніше відредагував на del, я del ще не пробував

34

Re: допоможіть(С++(стрічки))

/KIT\ (19:15:09) написав:
return 0;
/KIT\ (Востаннє редагувалося /KIT\ 19:15:48) написав:

del

/KIT\, не робіть так.

Подякували: Parsifal, /KIT\2

35

Re: допоможіть(С++(стрічки))

все працює

for (int i = 0; str1[i] != 0; i++) {
        str1[i] = '0';
    }
    return str1;