Const n=5; var a:array[1..n,1..n] of integer; i,j,d,k,l,m:integer; begin k:=1; i:=1; j:=1; a[i,j]:=1; d:=n-1; for l:=1 to d do begin k:=k+1; j:=j+1; a[i,j]:=k; end; for m:=1 to n div 2 do begin for l:=1 to d do begin k:=k+1; i:=i+1; a[i,j]:=k; end; for l:=1 to d do begin k:=k+1; j:=j-1; a[i,j]:=k; end; d:=d-1; for l:=1 to d do begin k:=k+1; i:=i-1; a[i,j]:=k; end; for l:=1 to d do begin k:=k+1; j:=j+1; a[i,j]:=k; end; d:=d-1; end; for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end.
var a:array[1..n,1..n] of integer;
i,j,d,k,l,m:integer;
begin
k:=1;
i:=1; j:=1;
a[i,j]:=1;
d:=n-1;
for l:=1 to d do
begin k:=k+1; j:=j+1; a[i,j]:=k; end;
for m:=1 to n div 2 do
begin
for l:=1 to d do
begin k:=k+1; i:=i+1; a[i,j]:=k; end;
for l:=1 to d do
begin k:=k+1; j:=j-1; a[i,j]:=k; end;
d:=d-1;
for l:=1 to d do
begin k:=k+1; i:=i-1; a[i,j]:=k; end;
for l:=1 to d do
begin k:=k+1; j:=j+1; a[i,j]:=k; end;
d:=d-1;
end;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
end.
Результат:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
Объяснение:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <math.h>
using namespace std;
struct Train { // указатель на узел, динамическую структуру Train
int number; //ввод поля номер для поезда
char path[10];// ввод поля пункт назначения поезда
int hour;// ввод поля время отправления поезда (часы)
int min; //ввод поля время отправления поезда (минуты стандартных имён
int main() {
const int N = 5;
setlocale(LC_ALL, "Russian");// подключение русского языка
Train trains[5];// указание количества поездов в структуре
for (int i = 0; i < N; i++) { // начало цикла для введения данных о 5 поездах
cout << "Введите пункт назначения поезда " << i + 1 << endl; // Вывод на экран сообщения о необходимости ввести имя
cin >> trains[ i ].path ; //ввод имени пользователем
cout << "Введите номер для поезда " << i + 1 << endl;
cin >> trains[ i ].number;
cout << "Введите время отправления для поезда (часы) " << i + 1 << endl;
cin >> trains[ i ].hour ;
cout << "Введите время отправления для поезда (минуты) " << i + 1 << endl;
cin >> trains[ i ].min ;
}
for(int i = 0; i < N; i++)
{
for(int j = i + 1; j < N; j++)
{
if(strcmp(trains[i].path, trains[j].path)>0)
{
Train tmp = trains[i];
trains[i] = trains[j];
trains[j] = tmp;
}
}
}
for (int i = 0; i < N; ++i)
{
cout << " Пункт назначения: " << trains[ i ].path << " номер: " << trains[ i ].number << " Время отправления: " << trains[ i ].hour << ":" << trains[ i ].min << endl << endl;
}
int time_h;
int time_min;
int k = 0;
cout << "Введите ваше время (часы затем минуты)" << endl;
cin >> time_h >> time_min;
cout << " Ваше время:" << time_h <<":" << time_min << endl << endl;
for(int i = 0; i < N; i++)
{
if((time_h < trains[i].hour) || (time_h == trains[i].hour && time_min < trains[i].min))
{
cout << " следующие поезда отправятся после вашего времени: " << trains[i].number <<" с временем "<< trains[i].hour << ":"<< trains[i].min << endl;
k++;
}
}
if(k == 0)
cout << " Нет подходящих поездов" << endl;
_getch();
return 0;
}