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

0 голосов
22 просмотров

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


image

Информатика (227 баллов) | 22 просмотров
0

н любое число, если ввести количество столбцов = количеству строк получится квадрат, там рисунок получится

0

да заполнить такими символами

Дано ответов: 2
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.
(150k баллов)
0 голосов

#include
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    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] << ' ';<br>    cout << endl;<br>    }
}

Пример:
@ @ @ @ @ @ @ 
+ @ @ @ @ @ + 
+ + @ @ @ + + 
+ + + @ + + + 
+ + @ @ @ + + 
+ @ @ @ @ @ + 
@ @ @ @ @ @ @ 

(194k баллов)