## Задача. **"Дано речення. Вивести різні його слова"** Наче як проста задача - бо мало слів в умові, та в неї досить не просте рішення(як для починаючих). Я люблю знаходити **різні** розв'язки, як у математиці так і в програмуванні. То ж і тут наведу декілька. Щоб краще зрозуміти як розв'язати задачу трохи спростимо її, ще трохи. Нехай це буде **"масив чисел, і треба вивести різні числа"**, тобто не виводити однакові. Якщо трішки подумати, то треба проглядати масив двома циклами. Преший цикл бере до розгляду послідовно кожен елемент з масиву, а інший цикл - шукає чи є ще такий у масиві. І якщо не знаходить - то виводить його. Для з'ясування факту "знайшов-не знайшов" використовувоємо логічну змінну. exist=0; припускаємо що елемент що зараз розглядаємо - єдиний, і такого більше в масиві нема(крім його самого) Проглядаємо іншим циклом масив - і якщо знаходимо встановлюємо "флажок" exist=1; як ознаку того що такий елемент не єдиний і його виводити не треба. Наступні елементи для цього елемента можна далі не розглядати. break; ``` C #include <stdio.h> #include <stdlib.h> int main() { const int N=15; // розмір массиву int i,j; // дві змінні для циклів int a[N]; // сам массив чисел int exist; // логічна змінна, існує чи не існує ще такий елемент у масиві //заповнимо масив випадковими числами for(i=0;i<N;i++) a[i]=random()%20; //виведемо його весь for(i=0;i<N;i++) printf("%3d",a[i]); //відокремимо від іншого виводу printf("\n------------\n"); for(i=0;i<N;i++) { exist=0;//припустимо що такого елементу (a[i]) в масиві більш нема for(j=0;j<N;j++) if(a[i]==a[j] && i!=j) // а якщо знайдемо {exist=1; break;} // то змінну зробимо =1 тобто є ще один такий // далі можна не перевіряти і перевати цей, // внутрішній цикл - break; //пошук завершено //і тепер в залежності від змінної exist // виводимо (exist=0) чи не виводимо (exist=1) елементу (a[i]) if(exist==0) printf("%3d",a[i]); } return 0; } ``` Задача ж зі словами така сама, алгоритмічно. Лиш елементи не просто числа, а слова. Тобто треба оперувати словами, якось знаходити *перше_слово*, *друге_слово*, ... та мати змогу їх порівняти, рівні не рівні. *(про це іншим разом)*