• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите решить задачу по Паскалю

SallahadDin

Ученик
Регистрация
22 Фев 2014
Сообщения
5
Реакции
0
Баллы
0
Помогите решить задачу по Паскалю

Даны вещественные матрицы A, B, C размером 5x6. Вычислить величину (||A||+||B||+||C||)/(||A+B+C||+||A-B-C||), где ||D||= maxj |d1,j| + maxj |d2,j| +…+ maxj |d5,j|. Программа должна использовать функцию нахождения максимума в строке матрицы и функцию вычисления ||D||.
 
Даны вещественные матрицы A, B, C размером 5x6. Вычислить величину (||A||+||B||+||C||)/(||A+B+C||+||A-B-C||), где ||D||= maxj |d1,j| + maxj |d2,j| +…+ maxj |d5,j|. Программа должна использовать функцию нахождения максимума в строке матрицы и функцию вычисления ||D||.
Прошу:
Код:
Type
 Vector=Array[1..6] of Real;
 Matrix=Array[1..5] of Vector;
 Ar_Mtr=Array[1..3] of Matrix;

Var
 A:Ar_Mtr;
 i,j,k:Byte;
 S,S1,S2,S3:Real;

Function Max_V(V:Vector):Real;
var
 m:Byte;
 Max:Real;
begin
 Max:=Abs(V[1]);
 for m:=2 to 6 do
  if Abs(V[m])>Max then Max:=Abs(V[m]);
 Max_V:=Max;
end;

Function Sum_V(M:Matrix):Real;
var
 q:byte;
 Sum:Real;
begin
 Sum:=0;
 for q:=1 to 5 do Sum:=Sum+Max_V(M[q]);
 Sum_V:=Sum;
end;

Function Sum_M_1(C:Ar_Mtr):Matrix;
var
 d,p,q:byte;
begin
 for p:=1 to 5 do
  for q:=1 to 6 do
   Sum_M_1[p][q]:=C[1][p][q]+C[2][p][q]+C[3][p][q];
end;

Function Sum_M_2(C:Ar_Mtr):Matrix;
var
 d,p,q:byte;
begin
 for p:=1 to 5 do
  for q:=1 to 6 do
   Sum_M_2[p][q]:=C[1][p][q]-C[2][p][q]-C[3][p][q];
end;

Begin
 Randomize;
 for k:=1 to 3 do
  for i:=1 to 5 do
   for j:=1 to 6 do
    A[k][i][j]:=Random*10-3.0;

 for k:=1 to 3 do
  begin
   for i:=1 to 5 do
    begin
     for j:=1 to 6 do write(A[k][i][j]:7:2);
     writeln;
    end;
   writeln;
  end;
 writeln;

 S1:=0;
 for k:=1 to 3 do S1:=S1+Sum_V(A[k]);
 S2:=Sum_V(Sum_M_1(A));
 S3:=Sum_V(Sum_M_2(A));
 S:=S1/(S2+S3);
 Writeln('Result: ', S:0:5);
 Readln
End.
 
Да все работает правильно)) не могли бы посмотреть вот эти задачи?) заранее спасибо огромное)
1. Создать текстовый файл с произвольным содержимым. Написать программу, которая после каждого слова записывает в файл количество символов в этом слове, а после этого дописывает в конец файла строку, в которой указывается количество слов в файле. Под словом понимается любая непустая последовательность символов, ограниченная символами пробе- ла, табуляции, конца строки или конца файла.
2. Написать программу, которая выполняет следующие действия по выбору пользователя: 1 – ввод с клавиатуры данных о товарах (данные об одном товаре: наименование, дата изготовления, цена в долларах), 2 – ввод данных о товарах из файла на диске, 3 – вывод данных о товарах в файл на диске, 4 – по заданному пользователем обменному курсу вывести на экран информацию о товарах с указанием цены как в долларах, так и в рублях, 5 – закончить работу. Максимальное количество товаров – 20. Для представления данных об одном товаре использовать тип данных record . Использовать типизированный файл, запись которого со- держит данные об одном товаре.
 
1. Создать текстовый файл с произвольным содержимым. Написать программу, которая после каждого слова записывает в файл количество символов в этом слове, а после этого дописывает в конец файла строку, в которой указывается количество слов в файле. Под словом понимается любая непустая последовательность символов, ограниченная символами пробела, табуляции, конца строки или конца файла.
Легко. Только пути к файлам поправьте по своему усмотрению:
Код:
Var
 Lit:Set of Char;
 f1,f2:Text;
 W:String;
 C:Char;
 N_W:Integer;

Begin
 N_W:=0;
 Lit:=['a'..'z']+['A'..'Z']+['а'..'я']+['А'..'Я']+['0'..'9'];
 Assign(f1,'D:\inp.txt');
 Reset(f1);
 Assign(f2,'D:\outp.txt');
 Rewrite(f2);
 Repeat
  repeat
   read(f1,C);
   if Not(C in Lit) then write(f2,C);
  until (C in Lit) or EoF(f1);
  If C in Lit then
   begin
    W:=C;
    repeat
     read(f1,C);
     if C in Lit then W:=W+C;
    until Not(C in Lit) or Eof(f1);
    Inc(N_W);
    write(f2,W+'(',Length(W),')');
    if Not(EoF(f1)) then write(f2,C);
   end;
 Until EoF(f1);
 writeln(f2);
 writeln(f2,N_W,' words');
 Close(f1);
 Close(f2);
End.
 

Вложения

  • NC01.webp
    NC01.webp
    27.7 KB · Просмотры: 51
  • NC02.webp
    NC02.webp
    41.9 KB · Просмотры: 53
2. Написать программу, которая выполняет следующие действия по выбору пользователя: 1 – ввод с клавиатуры данных о товарах (данные об одном товаре: наименование, дата изготовления, цена в долларах), 2 – ввод данных о товарах из файла на диске, 3 – вывод данных о товарах в файл на диске, 4 – по заданному пользователем обменному курсу вывести на экран информацию о товарах с указанием цены как в долларах, так и в рублях, 5 – закончить работу. Максимальное количество товаров – 20. Для представления данных об одном товаре использовать тип данных record . Использовать типизированный файл, запись которого со- держит данные об одном товаре.
Этим, извините, заниматься на буду, ибо тыц!.
 
Спасибо добрый человек))))
 
Назад
Сверху