
Вопрос задан 18.07.2020 в 11:42.
Предмет Информатика.
Спрашивает Шокуров Артём.
Помогите пожалуйста!!!



Ответы на вопрос

Отвечает Лисин Александр.
#include <iostream>
using namespace std;
int main() {
int n=7;
char a[n][n];
for(int i = 0; i < (n+1)/2; i++){
for(int j=0; j<n; j++){
a[i][j]='+'; a[n-i-1][j]='+';
}
for(int j = i; j < n-i; j++){
a[i][j] = '@';
a[n-i-1][j] = '@';
}
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++)
cout << a[i][j] << ' ';
cout << endl;
}
}
Пример:
@ @ @ @ @ @ @
+ @ @ @ @ @ +
+ + @ @ @ + +
+ + + @ + + +
+ + @ @ @ + +
+ @ @ @ @ @ +
@ @ @ @ @ @ @
using namespace std;
int main() {
int n=7;
char a[n][n];
for(int i = 0; i < (n+1)/2; i++){
for(int j=0; j<n; j++){
a[i][j]='+'; a[n-i-1][j]='+';
}
for(int j = i; j < n-i; j++){
a[i][j] = '@';
a[n-i-1][j] = '@';
}
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++)
cout << a[i][j] << ' ';
cout << endl;
}
}
Пример:
@ @ @ @ @ @ @
+ @ @ @ @ @ +
+ + @ @ @ + +
+ + + @ + + +
+ + @ @ @ + +
+ @ @ @ @ @ +
@ @ @ @ @ @ @



Отвечает Чупрун Илья.
1. Современное решение
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=MatrFill(n,n,'+');
var k:=(n+1) div 2-1;
for var i:=0 to k do
for var j:=i to n-i-1 do a[i,j]:='@';
for var i:=k+1 to n-1 do
for var j:=n-i-1 to i do a[i,j]:='@';
a.Println(1);
end.
Пример
n= 5
@@@@@
[email protected]@@+
[email protected]++
[email protected]@@+
@@@@@
2. Школьный вариант в стиле ТурбоПаскаль 1983г
const
nn=100; // максимальное n
var
i,j,n,k:integer;
a:array[0..nn-1,0..nn-1] of char;
begin
Write('n='); Read(n);
for i:=0 to n-1 do
for j:=0 to n-1 do
a[i,j]:='+';
k:=(n+1) div 2-1;
for i:=0 to k do
for j:=i to n-i-1 do
a[i,j]:='@';
for i:=k+1 to n-1 do
for j:=n-i-1 to i do
a[i,j]:='@';
for i:=0 to n-1 do begin
for j:=0 to n-1 do
Write(a[i,j]);
Writeln
end
end.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=MatrFill(n,n,'+');
var k:=(n+1) div 2-1;
for var i:=0 to k do
for var j:=i to n-i-1 do a[i,j]:='@';
for var i:=k+1 to n-1 do
for var j:=n-i-1 to i do a[i,j]:='@';
a.Println(1);
end.
Пример
n= 5
@@@@@
[email protected]@@+
[email protected]++
[email protected]@@+
@@@@@
2. Школьный вариант в стиле ТурбоПаскаль 1983г
const
nn=100; // максимальное n
var
i,j,n,k:integer;
a:array[0..nn-1,0..nn-1] of char;
begin
Write('n='); Read(n);
for i:=0 to n-1 do
for j:=0 to n-1 do
a[i,j]:='+';
k:=(n+1) div 2-1;
for i:=0 to k do
for j:=i to n-i-1 do
a[i,j]:='@';
for i:=k+1 to n-1 do
for j:=n-i-1 to i do
a[i,j]:='@';
for i:=0 to n-1 do begin
for j:=0 to n-1 do
Write(a[i,j]);
Writeln
end
end.


Топ вопросов за вчера в категории Информатика

Информатика 558

Информатика 33

Информатика 74

Информатика 12

Информатика 10

Информатика 33

Информатика 27
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili