C#:
int a;
ConsoleKeyInfo keyInfo;
do
{
Console.WriteLine("Введите номер одного из зимних месяцев:\n12, 1, 2");
a = Convert.ToInt32(Console.ReadLine());
switch (a)
case 12:
Console.WriteLine("Декабрь\n");
break;
case 1:
Console.WriteLine("Январь\n");
case 2:
Console.WriteLine("февраль\n");
default:
Console.WriteLine("Не зимний месяц\n");
}
//Ниже идёт зацикливание программы, для удобства. Если Вам этого не требуется, то вместо нижеперечисленного впишите "Console.ReadKey();"
Console.WriteLine("Если хотите повторить программу нажмите F");
Console.WriteLine("Если хотите завершить программу нажмите любую другую кнопку\n");
keyInfo = Console.ReadKey(true);
while (keyInfo.Key == ConsoleKey.F);
#include <iostream>
#include <vector>
#include <cstdint>
using namespace std; template <class T>
istream& operator>>(istream &in, vector<T> &vec) { for (auto &it : vec) in >> it; return in;
template <class T>
ostream& operator<<(ostream &out, vector<T> &vec) { for (auto &it : vec) out << it << ' '; return out;
template <class T, class U>
istream& operator>>(istream &in, pair<T, U> &pair) { in >> pair.first >> pair.second; return in;
ostream& operator<<(ostream &out, pair<T, U> &pair) { out << pair.first << ' ' << pair.second; return out;
signed main(void) { int32_t n; cin >> n; vector<vector<int64_t>> a(n, vector<int64_t>(n,-1)); int64_t x = 0, y = n/2; a[x][y] = 1; for(int32_t i = 2; i <= n*n; ++i) { int _x = x, _y = y; if(!x) { x = n-1; } else { --x; } if(y == n-1) { y = 0; } else { ++y; } if(a[x][y] != -1) { x= _x, y = _y; while(a[x][y] != -1) { if(x == n-1) { x = 0; } else { ++x; } } } a[x][y] = i; } for(int32_t i = 0; i < n; ++i) { cout << a[i] << '\n'; } return 0; }
Объяснение:
Запишем на C++ то, что написано в условии.
Если надо, то код также прикрепил в виде файла
Списывать не хорошо)
Если повезёт увидемся в (СИРИУС)
C#:
int a;
ConsoleKeyInfo keyInfo;
do
{
Console.WriteLine("Введите номер одного из зимних месяцев:\n12, 1, 2");
a = Convert.ToInt32(Console.ReadLine());
switch (a)
{
case 12:
Console.WriteLine("Декабрь\n");
break;
case 1:
Console.WriteLine("Январь\n");
break;
case 2:
Console.WriteLine("февраль\n");
break;
default:
Console.WriteLine("Не зимний месяц\n");
break;
}
//Ниже идёт зацикливание программы, для удобства. Если Вам этого не требуется, то вместо нижеперечисленного впишите "Console.ReadKey();"
Console.WriteLine("Если хотите повторить программу нажмите F");
Console.WriteLine("Если хотите завершить программу нажмите любую другую кнопку\n");
keyInfo = Console.ReadKey(true);
}
while (keyInfo.Key == ConsoleKey.F);
#include <iostream>
#include <vector>
#include <cstdint>
using namespace std; template <class T>
istream& operator>>(istream &in, vector<T> &vec) { for (auto &it : vec) in >> it; return in;
}
template <class T>
ostream& operator<<(ostream &out, vector<T> &vec) { for (auto &it : vec) out << it << ' '; return out;
}
template <class T, class U>
istream& operator>>(istream &in, pair<T, U> &pair) { in >> pair.first >> pair.second; return in;
}
template <class T, class U>
ostream& operator<<(ostream &out, pair<T, U> &pair) { out << pair.first << ' ' << pair.second; return out;
}
signed main(void) { int32_t n; cin >> n; vector<vector<int64_t>> a(n, vector<int64_t>(n,-1)); int64_t x = 0, y = n/2; a[x][y] = 1; for(int32_t i = 2; i <= n*n; ++i) { int _x = x, _y = y; if(!x) { x = n-1; } else { --x; } if(y == n-1) { y = 0; } else { ++y; } if(a[x][y] != -1) { x= _x, y = _y; while(a[x][y] != -1) { if(x == n-1) { x = 0; } else { ++x; } } } a[x][y] = i; } for(int32_t i = 0; i < n; ++i) { cout << a[i] << '\n'; } return 0; }
Объяснение:
Запишем на C++ то, что написано в условии.
Если надо, то код также прикрепил в виде файла
Списывать не хорошо)
Если повезёт увидемся в (СИРИУС)