profile
Размещено 5 лет назад по предмету Информатика от VALTIM

Переделайте программу так, чтобы данные считывались с дискового файла.

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 покажите как должна будет выглядеть матрица в файле

  1. Ответ на вопрос
    Ответ на вопрос дан Giammy
    У вас был неправильно реализован алгоритм поиска среднего значения.

    При вводе данных в файл удостоверьтесь что нет пустых строк(строк с пробелами), а также нет пробелов в конце самих строк.

    program prog_2_6a;

    type
      vx = array[1..100, 1..100] of real;
     vy = array[1..10] of real;

    var
      x: vx;
      y: vy;
      f: text;
      n, m, i, j: integer;
      a: real;

    begin
      assign(f, 'input.txt');reset(f);
      n := 0;
      while not Eof(f) do
      begin
        inc(n);
        m := 0; 
        while not Eoln(f) do
        begin
          inc(m);
          read(f, x[n, m]); 
        end;
        readln(f);
      end;
      close(f);
      assign(f, 'output.txt');rewrite(f);
      if (n > 10) or (m > 10) then begin Writeln(f, 'Некорректно введены данные в файл или кол-во столбцов/строк превышают 10');close(f);exit; end;
      for i := 1 to m do
      begin
        for j := 1 to n do
          a := a + x[j, i];
        y[i] := a / n;
        writeln(f, 'Среднее значение по ', i, '-му столбцу', y[i]:8:2);
        a := 0;
      end;
      close(f);
    end.

    Пример ввода/вывода+код:
    1. Ответ на вопрос
      Ответ на вопрос дан Aillianna
      если чтенье и запись разделены то стоило и работу с файлами разделить
    2. Ответ на вопрос
      Ответ на вопрос дан Aillianna
      var
      x: array[1..10, 1..10]of real;
      f: text;
      n, m, i, j: integer;
      a: real;

      begin
      assign(f, 'input.txt');
      reset(f);

      n := 0;
      while not Eof(f) do
      begin
      n := n + 1;
      m := 0;
      while not Eoln(f) do
      begin
      m := m + 1;
      read(f, x[n, m]);
      end;
      readln(f);
      end;
      close(f);

      assign(f, 'output.txt');
      rewrite(f);
      for j := 1 to m do
      begin
      a := 0;
      for i := 1 to n do
      a := a + x[i, j];
      writeln(f, 'Среднее значение по ', j, '-му столбцу = ', (a / n):8:2);
      end;
      close(f);
      end.
    3. Ответ на вопрос
      Ответ на вопрос дан Aillianna
      и вообще ошибка при вычислении среднего
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.