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

Помогите пожалуйста!!!


0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лисин Александр.
#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;
    }
}

Пример:
@ @ @ @ @ @ @ 
+ @ @ @ @ @ + 
+ + @ @ @ + + 
+ + + @ + + + 
+ + @ @ @ + + 
+ @ @ @ @ @ + 
@ @ @ @ @ @ @ 
0 0
Отвечает Чупрун Илья.
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.
0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос