Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2014, 18:52   #1
Xo6ut
Пользователь
 
Регистрация: 23.04.2013
Сообщений: 76
По умолчанию Проверьте код: Cоставить процедуру, которая в заданном массиве С заменяет нулями элементы, которые больше значения функции

Проверьте пожалуйста код.
Составить программу по заданному условию. Первая часть условия является заданием на разработку процедуры для функции f или пару функций(f1,f2). Условие 2ой части задания предполагает обязательное использование разработанной процедуры. В большинстве случаев исходным данным является квадратная матрица А.
А вот и само условие:Cоставить процедуру, которая в заданном массиве С заменяет нулями элементы, не превышающие ,(здесь фотка с формулой, она во вложениях) где n кол-во эл в массиве С, а B некоторая величина. Задать в качестве f синус и B=5, применить процедуру к каждому столбцу матрицы А, подсчитав при этом как изменится средн арифметическое матрицы А.
А вот сам код:
Код:
uses
  SysUtils;
  type tmas=array[1..15,1..15] of Real;
      dmas=array[1..15] of Real;
      ft=function(x:Real):real;
var A:tmas;
    i,j,la,y,g:Integer;
    sr,str,k:Real;
    D,D1:dmas;

    Function func(x:Real):Real;
  var ff:Real;
  begin
    ff:=sin(x);
    func:=ff
  end;
procedure zamena(C:dmas;f:ft;l:Integer;B:Real;var p:dmas);
var i:Integer;
S:real;
begin
  s:=0;
  for i:=1 to l do s:=s+f(c[i]);
  for i:=1 to l do if c[i]<=((1/B)*s) then p[i]:=0;
  for i:=1 to l do if c[i]>((1/B)*s) then p[i]:=c[i];
end;
begin
  Write('vvedite velichinu sravnenia:'); Readln(K);
  Writeln('vvedite razmer matritsi L');
  read(la);
  Writeln('vvedite matritsu');
  for i:=1 to la do for j:=1 to la do read(A[i,j]);
  sr:=0;
    for i:=1 to la do for j:=1 to la do sr:=sr+A[i,j];
    sr:=sr/sqr(la);
    y:=1;
  for j:=1 to la do for i:=1 to la do
  begin
    begin
      for g:=1 to la do
      D[g]:=A[y,g];
    end;
    zamena(D,func,la,k,D1);
    A[i,j]:=D1[j];
    y:=y+1;
  end;
  str:=0;
  Writeln('izmenennaia matritsa:');
  for i:=1 to la do for j:=1 to la do write(A[i,j]:2:2,'  ');
  for i:=1 to la do for j:=1 to la do str:=str+A[i,j];
  str:=str/sqr(la);
  Writeln('izmenenie sr.arifmeticheskogo:  ',(sr-str):2:2);
  read(i);



  { TODO -oUser -cConsole Main : Insert code here }
end.
Изображения
Тип файла: gif latex.cgi.gif (583 байт, 81 просмотров)
Xo6ut вне форума Ответить с цитированием
Старый 27.01.2014, 19:36   #2
Xo6ut
Пользователь
 
Регистрация: 23.04.2013
Сообщений: 76
По умолчанию

Может кто проверить?
Xo6ut вне форума Ответить с цитированием
Старый 27.01.2014, 20:24   #3
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Xo6ut Посмотреть сообщение
Может кто проверить?
Простите, а что именно проверить?
Синтаксис? Все синтаксические ошибки Вам выдаст среда.
Как программа выполняет вычисления: по формуле или нет? Простейший способ:
Выполните по ней расчёт для любых исходных данных, например, в Excel. После того, как получите результат, введите эти же исходные данные в Вашу программу и сравните полученные результаты.
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В двусвязном списке продублировать те элементы, которые меньше следующего, но больше больше предыдущего. gvenog Помощь студентам 0 13.12.2010 21:20
Cоставить программу для вычисления значения функции и результаты выдать на печать. Бейсик muse26 Помощь студентам 0 19.11.2010 11:37
С++ В заданном массиве с(8) переставить элементы basav1k Помощь студентам 2 26.05.2010 19:02
В заданном массиве чисел упорядочить элементы dolya2007 Общие вопросы C/C++ 0 01.05.2009 02:44
Составить процедуру, которая в задоном массиве С заменяет элементы Absent Помощь студентам 1 25.03.2008 23:11