Даны 3 слова, найти одинаковые буквы и вывести на экран.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <conio.h> #include <iostream> #include <string> #include <iomanip> using namespace std; char* Read(char* message) { int ch, str_size = 0; char * str = (char *) calloc(str_size, sizeof(char)); cout<<message; while ((ch = getchar()) != '\n') { str = (char *) realloc(str, ++str_size); str[ str_size - 1 ] = (char) ch; } str[ ++str_size - 1 ] = '\0'; return str; } void main() { char* Str1 = Read("Enter first string: "); char* Str2 = Read("Enter second string: "); char* Str3 = Read("Enter third string: "); int charcount = 0; char* Res = NULL; for(int i = 0; i < 3;i++) { for(int j = 0; j < 5;j++) { if(Str1[i] == Str2[j]) { for(int k = 0; k < 4;k++) { if(Str2[j] == Str3[k]) { Res = (char*)realloc(Res, ++charcount*sizeof(*Res)); Res[charcount-1] = Str3[k]; } } } } } Res = (char*)realloc(Res, ++charcount*sizeof(*Res)); Res[charcount-1] = '\0'; cout<<Res; getch(); } |
Результат:
Автор: Андрей Товстик