Pascal ABC
const
n = 10;
var
i, j: integer;
a: array[1..n, 1..n] of char;
begin
for i := 1 to n do
for j := 1 to n do
if (j >= i) and (j <= n - i + 1) then a[i, j] := '*' else a[i, j] := '+';
begin
for i := 6 to n do
for j := 1 to n do
if (j <= i) and (j >= n - i + 1) then a[i, j] := '*' else a[i, j] := '+';
for i := 1 to n do
begin
for j := 1 to n do
write(a[i, j]:2);
writeln();
end;
end;
end.
C++
using namespace std;
#include <iostream>
#include <cmath>
#include <algorithm>
#pragma GCC optimize("Ofast")
#define ll long long
#define ld long double
using namespace std;
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
const ll n = 10;
char a[n][n];
for(ll i = 0; i < n; i++)
for(ll j = 0; j < n; j++)
a[i][j] = '+';
ll l = 0, r = n-1;
for(ll i = 0; i < n; i++){
for(ll j = min(l,r); j <= max(l,r); j++)
a[i][j] = '*';
l++;
r--;
}
for(ll i = 0; i < n; i++){
for(ll j = 0; j < n; j++)
cout << a[i][j] << " ";
cout << "\n";
}
}
Объяснение:
Поделитесь своими знаниями, ответьте на вопрос:
В чем ошибка? Двумерные массивы. Задание:В матрице А(5, 6) найти среднее арифметическое всех элементов, удовлетворяющих условию: Вывести на печать матрицу А и среднее арифметическое значение. (pascal)Программа:const n = 5; m = 6;var A: array [1..n, 1..m] of integer; i, j, sum, k: integer; sr:real;begin randomize; writeln('Массив A: '); for i:= 1 to n do begin for j:= 1 to m do begin A[i, j] := random(101) - 50; write(A[i, j]:3, ' '); if (A[i, j] >= -1) and (A[i, j] <= 1) then end; writeln; end; writeln; sum := 0; k := 0; for i:= 1 to n do for j:= 1 to m do begin sum:=sum+A[i, j]; inc(k); sr:=sum/k; if (k > -1) then writeln('Среднее = ', sr:2:2) else writeln('Таких чисел нет'); readln;end;end.
много, где ошибки... должно быть так:
Объяснение:
const
n = 5;
m = 6;
var
A: array [1..n, 1..m] of integer;
i, j, sum, k: integer;
sr: real;
begin
randomize;
sum := 0;
k := 0;
writeln('Массив A: ');
for i := 1 to n do
begin
for j := 1 to m do
begin
A[i, j] := random(20) - 10;
write(A[i, j]:3, ' ');
if (A[i, j] >= -1) and (A[i, j] <= 1) then
begin
sum := sum + A[i, j];
inc(k);
end;
end;
writeln;
end;
writeln;
if (k > 0) then
begin
sr := sum / k;
writeln('Среднее = ', sr:2:2)
end
else
writeln('Таких чисел нет');
end.