Тема: Цікаві задачі
Пропоную в цій темі викладувати цікаві задачі з програмування.
1. 10 зірочок
#include <stdio.h>
int main(void)
{
    int i, n = 10;
    for (i = 0; i < n; i--) 
        printf("%c", '*');
    getchar();
    return 0;
}Потрібно змінити лише один символ, так щоб друкувало 10 зірочок, пробіл також символ. Є 3 можливих варіанта рішення.
2. Обмін даними без допоміжної памяті
unsigned char v1 = 250;
unsigned char v2 = 200;Необхідно переставити місцями значення без використання допоміжної пам'яті (ще однієї змінної).
3. Ініціалізація масиву (відправив Patron, деякі поправки від Leo)
#include <iostream>
#define N 10
#define M 5
#define L 3
using namespace std;
int main () {
    int i,j,k;
    int array[N][M][L];
    
    for (i = 0; i < N; i++) {
        for (j = 0; j < M; j++) {
            for (k = 0; k < L; k++) {
                // тут ваш код
            }
        }
    }
    
    for(i = 0; i < N; i++) {
        for(j = 0; j < M; j++) {
            for(k = 0; k < L; k++) {
                cout << array[a][b][c] << endl;
            }
        }
    }
    return 0;
}Зробити ініціалізацію усіх 50-ти масивів (10 * 5 = 50), які містять по 3 елементи типу int, числом 10. Не використовувати квадратні дужки!
4. Паровози
Є два програмованих паровоза. Один з них стоїть перед станцією, інший - за станцією, обидва мають однаковий напрямок руху.
Їх мова має такі можливості:
ifstation {} - якщо зараз на станції, то виконати код в фігурних дужках
goto ...; - перейти на мітку ... (як в С)
label1: ... - Мітка label1 (як в С)
forward; - зрушитися на одну довжину паровоза вперед за одиницю часу
back; - зрушитися на одну довжину паровоза назад за одиницю часу
Скласти програму для паровозів (однакову для обох), яка призведе до їх зіткнення.

