laba4-repo/22/ConsoleApplication1/ConsoleApplication1.c
2024-12-26 09:12:43 +04:00

62 lines
1.3 KiB
C

#include <stdio.h>
int strlen_1st(char c[]) {
int result = 0;
do { result += 1; } while (c[result] != '\0');
return result;
}
int strlen_2nd(char c[]) {
char* p = c;
while (*p++); return p - c - 1;
}
int strcmp_1st(char s1[], char s2[]) {
int len1 = 0, len2 = 0, i = 0;
while (len1 == 0 || len2 == 0) {
if (len1 == 0 && s1[i] == '\0') { len1 = i; }
else if (len2 == 0 && s2[i] == '\0') { len2 = i; }
i++;
}
return len1 - len2;
}
void strcpy(char s1[], char d1[]) {
for (int i = 0; i < 9999; i++) {
if (s1[i] != '\0') {
d1[i] = s1[i];
}
else {
break;
}
}
}
void strcat_1st(char* s1, char* s2) {
while (*s2) s2++;
while (*s2++ == *s1++);
}
int strchr(char s1[], char sym) {
int i = 0;
while (s1[i] != sym) {
i++;
if (i >= strlen_1st(s1)) { printf("there's no such symbol"); break; }
}
return i;
}
void main() {
char str[11] = "string";
char str2[12] = "string2";
char str3[13] = "stringthree";
char strx[11] = "string4";
char etp[14] = "";
char* Word;
printf("%d\n", strlen_1st(str));
printf("%d\n", strlen_2nd(str2));
printf("%d %d\n", strcmp_1st(str, str2), strcmp_1st(str, str3));
strcpy(str, etp); printf("%s\n", etp);
strcat(str3, etp); printf("%s\n", str3);
printf("n at index %d - in %s\nf", strchr(strx, 'n'), strx);
}