М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Leylanagieva
Leylanagieva
11.05.2020 00:38 •  Информатика

В чем ошибка? Двумерные массивы. Задание:

В матрице А(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.

👇
Ответ:
DiDUFC
DiDUFC
11.05.2020

много, где ошибки... должно быть так:

Объяснение:

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.

4,4(11 оценок)
Открыть все ответы
Ответ:
egorik2506
egorik2506
11.05.2020
1) В первом задании просто берёшь и переводишь, грубо говоря, всё числа 
от 0 до 25 с 10 системы, в 6 и смотришь какие числа начинаются на 4. 
Например (4)_{10} = (4)_6  
  (24)_{10} = (40)_6
 (25)_{10} = (41)_6
Тут только три числа получилось.То есть ответ 4,40,41

2)Мы знаем что  (83)_{10} = (123)_n Поскольку  12383 то и  n
Предположим что  n=8. Просто переведём  (123)_8 в десятичное число, и получаем  (123)_8=(83)_{10}
 ответ 8.
3) Третье задание точно такое как и 2, только сформулировано немножко по другому. Опять же  65 соответственно  8N.
Глядя на разницу между 65 и 311, можно предположить, что N как минимум в 2 раза меньше 8. Поэтому допустим N=4.
И проверяем  (311)_4 = (53)_{10} = (65)_8. То есть  N=4
Это именно то, что нам нужно.
ответ  N=4.
Надеюсь хоть чем то
4,4(10 оценок)
Ответ:
НикаНик1111
НикаНик1111
11.05.2020

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";

   }

}

Объяснение:

4,8(80 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ