СРОЧНО ПОМОГИТЕ. МНОГО БАЛЛОВ!!! Переделайте программу так, чтобы данные считывались с...

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

СРОЧНО ПОМОГИТЕ. МНОГО БАЛЛОВ!!!
Переделайте программу так, чтобы данные считывались с дискового файла.

program prog_2_6a;
type vx=array[1..10,1..10]of real;
type vy=array[1..10]of real;
var
x:vx;
y:vy;
n,m,i,j:integer;
a:real;
begin
writeln('Введите количество cтрок');
readln(n);
writeln('Введите количество столбцов');
readln(m);
for i:=1 to n do
begin
for j:=1 to m do
begin
writeln(j,'-й элемент ',i,'-й строки');
readln(x[I,j])
end;
end;
for j:=1 to m do
begin
a:=0;
a:=a+x[I,j];
y[j]:=a/n;
writeln('Среднее значение по ',j,'-му столбцу');
writeln(y[j]:8:2);
end;
readln;
End.

Данные матрицы находятся в изображении.
P.S покажите как должна будет выглядеть матрица в файле .txt


image

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

извините

0

поэтому и спрагиваю у знающих людей

0

текст без надобности

0

я это делаю, чтобы разобраться

0

да, только колонку

Дан 1 ответ
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadAllLines('input.txt'); // массив строк
  var n:=a[0].ToWords.Count; // количество чисел в строке
  var x:=new real[a.Length,n]; // создана матрица нужного размера
  for var i:=0 to a.Length-1 do
    x.SetRow(i,a[i].ToReals);   // матрица заполнена значениями
  x.Println(5,1); Writeln(a.Length*5*'-'); // вывод матрицы
  // получим средние по колонкам, округлим дробную часть до двух знаков
  var y:=x.Cols.Select(c->Round(c.Average*100)/100).ToArray;
  y.Println; // контрольный вывод средних, можно убрать
  WriteAllText('output.txt',y.JoinIntoString(' ')) // вывод в файл
end.

Пример работы
  7.9  8.8  1.3  4.2  7.8 -6.2
  2.6 -6.6 -6.7 -8.4  1.0 -7.1
  4.4  7.0 -4.2 -9.9 -0.1  3.5
  4.1 -2.0 -8.5 -8.4 -7.1 -2.3
  0.9  6.7 -2.4  0.4  9.0  7.2
  9.8 -8.4 -6.9  1.4  4.5 -9.3
------------------------------
4.95 0.92 -4.57 -3.45 2.52 -2.37

image
Скачать вложение Текст (TXT)
Скачать вложение Текст (TXT)
(150k баллов)
0

Огромнон спасибо, вы меня очень выручили, я надеялся только хотя бы на текст, а вы даже файлы приложили, еще раз огромное спасибо

0

даже так, еще раз спасибо, лучший ответ за вами

0

я понял