GridnevaVNIGNI"
?>

Написать программу в паскале для решения следующей : вычислить и вывести на экран число и сумму положительных элементов столбца матрицы а(15; 10)

Информатика

Ответы

mon84
//Pascal ABC.NET v3.1 сборка 1172

Const
 n=15;
 m=10;

Var
 ma:array[1..n,1..m] of integer;
 i,j,sum,co:integer;
begin
 randomize;
 writeln('Matrix:');
  for i:=1 to n do
   begin
    for j:=1 to m do
     begin
      ma[i,j]:=random(10)-3;
      write(ma[i,j]:4);
     end;
    writeln;
   end;
 for j:=1 to m do
 begin
  for i:=1 to n do
   if ma[i,j]>0 then
    begin
     sum:=sum+ma[i,j];
     inc(co);
    end;
  writeln('Sum ',j,':',sum);
  writeln('Count ',j,':',co);
  sum:=0;
  co:=0;
 end;
end.
tsarkovim
Учитывая, что 8 букв можно переставить примерно 40 тысячами можно просто запустить поиск в ширину, сохранить для всех перестановок то, из какой строчки они получились, и потом восстановить ответ для строчки abcdefgh.

Код на python 3:
from queue import Queue

to_process = Queue()
to_process.put(("edghcbfa", None))
prec = {}

while not to_process.empty():
    s, prev = to_process.get()
    if s in prec:
        continue
    for i in range(7):
        for j in range(i + 1, 8):
            if i == 0:
                next_s = s[j::-1] + s[j+1:]
            else:
                next_s = s[:i] + s[j:i-1:-1] + s[j+1:]
            if next_s not in prec:
                to_process.put((next_s, s))
    prec[s] = prev

current = "abcdefgh"
print(current)
while prec[current] is not None:
    current = prec[current]
    print(current)

Вывод программы:
abcdefgh
edcbafgh
edcbhgfa
edbchgfa
edghcbfa
kirill76536
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк в матрице:');
  var m:=ReadInteger('Количество столбцов в матрице:');
  Writeln('Вводите элементы матрицы построчно');
  var a:=new real[n,m];
  var b:=new real[n];
  for var i:=0 to n-1 do begin
    b[i]:=0;
    for var j:=0 to m-1 do begin
      Read(a[i,j]);
      b[i]+=Sqr(a[i,j])
      end;
    b[i]:=Sqrt(b[i])
    end;
  Writeln('Сформированный вектор');
  b.Println;
end.

Пример
Количество строк в матрице: 4
Количество столбцов в матрице: 3
Вводите элементы матрицы построчно
3.4 5.1 8
-1 0 1
-5.34 1.777 5
3 4 5
Сформированный вектор
10.0781942827076 1.4142135623731 7.52816903370268 7.07106781186548

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу в паскале для решения следующей : вычислить и вывести на экран число и сумму положительных элементов столбца матрицы а(15; 10)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

bondarev05071962
Gor Anatolevich
egorova90356684858370
delta88
Vetroff-11
oskar-pn
pbttehnology
phiskill559
sokolskiy458
Inozemtseva Korolev1271
vyborovvs
veronica1344
valerii-borisovich550
Sergei1805
YuREVICh646