Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 22.02.2014, 03:40   #1 (permalink)
SallahadDin
Новичок
 
Регистрация: 22.02.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите решить задачу по Паскалю

Даны вещественные матрицы A, B, C размером 5x6. Вычислить величину (||A||+||B||+||C||)/(||A+B+C||+||A-B-C||), где ||D||= maxj |d1,j| + maxj |d2,j| +…+ maxj |d5,j|. Программа должна использовать функцию нахождения максимума в строке матрицы и функцию вычисления ||D||.
SallahadDin вне форума   Ответить с цитированием

Старый 22.02.2014, 03:40
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

С вашей темой схожи следующие топики, рекомендую обратить внимание

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

Старый 22.02.2014, 11:43   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,863
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от SallahadDin Посмотреть сообщение
Даны вещественные матрицы 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.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 23.02.2014, 04:50   #3 (permalink)
SallahadDin
Новичок
 
Регистрация: 22.02.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо огромное)
SallahadDin вне форума   Ответить с цитированием
Старый 23.02.2014, 05:03   #4 (permalink)
SallahadDin
Новичок
 
Регистрация: 22.02.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Да все работает правильно)) не могли бы посмотреть вот эти задачи?) заранее спасибо огромное)
1. Создать текстовый файл с произвольным содержимым. Написать программу, которая после каждого слова записывает в файл количество символов в этом слове, а после этого дописывает в конец файла строку, в которой указывается количество слов в файле. Под словом понимается любая непустая последовательность символов, ограниченная символами пробе- ла, табуляции, конца строки или конца файла.
2. Написать программу, которая выполняет следующие действия по выбору пользователя: 1 – ввод с клавиатуры данных о товарах (данные об одном товаре: наименование, дата изготовления, цена в долларах), 2 – ввод данных о товарах из файла на диске, 3 – вывод данных о товарах в файл на диске, 4 – по заданному пользователем обменному курсу вывести на экран информацию о товарах с указанием цены как в долларах, так и в рублях, 5 – закончить работу. Максимальное количество товаров – 20. Для представления данных об одном товаре использовать тип данных record . Использовать типизированный файл, запись которого со- держит данные об одном товаре.
SallahadDin вне форума   Ответить с цитированием
Старый 23.02.2014, 10:52   #5 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,863
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от SallahadDin Посмотреть сообщение
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.jpg   nc02.jpg  
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 23.02.2014, 10:57   #6 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,863
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от SallahadDin Посмотреть сообщение
2. Написать программу, которая выполняет следующие действия по выбору пользователя: 1 – ввод с клавиатуры данных о товарах (данные об одном товаре: наименование, дата изготовления, цена в долларах), 2 – ввод данных о товарах из файла на диске, 3 – вывод данных о товарах в файл на диске, 4 – по заданному пользователем обменному курсу вывести на экран информацию о товарах с указанием цены как в долларах, так и в рублях, 5 – закончить работу. Максимальное количество товаров – 20. Для представления данных об одном товаре использовать тип данных record . Использовать типизированный файл, запись которого со- держит данные об одном товаре.
Этим, извините, заниматься на буду, ибо тыц!.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 25.02.2014, 23:37   #7 (permalink)
SallahadDin
Новичок
 
Регистрация: 22.02.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо добрый человек))))
SallahadDin вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 17:14.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.