Главная » Статьи » Задачи из заказов » Заказ 09.11.07 |
Написать и протестировать функцию STRP(str1, str2), которая определяет, встретился ли в строке str1 какой-нибудь символ из строки str2.
// 5.25 // Написать и протестировать функцию STRP(str1, str2), которая определяет, // встретился ли в строке str1 какой-нибудь символ из строки str2. // Функция должна возвращать номера позиций первых совпадающих символов или -1, // если совпадений нет. #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.H> int* strp(char* str1, char* str2) { int len1 = strlen(str1); int len2 = strlen(str2); int* res = (int*)malloc(sizeof(int) * len2); int i, j; for (i = 0; i < len2; i++) { j = 0; while (j < len1 && str1[j] != str2[i]) j++; if (str1[j] == str2[i]) res[i] = j + 1; else res[i] = -1; } return res; } void main() { clrscr(); char ans, *str1, *str2; int *res, len, i; do { printf("Vvedite stroku str1\n"); gets(str1); printf("Vvedite stroku str2\n"); gets(str2); printf("Resultat raboti functii:\n"); res = strp(str1, str2); len = strlen(str2); for (i = 0; i < len; i++) printf("%d ", res[i]); printf("\n"); printf("Esho raz?(Y/N)\n"); ans = getch(); printf("%c\n", ans); free(str1); free(str2); free(res); } while (ans == 'Y' || ans == 'y'); } | |
Категория: Заказ 09.11.07 | Добавил: solver (09.11.2007) | |
Просмотров: 1345 |