Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Масивы


Автор: Kirgston 24.12.2007, 18:26
Ребят очень прошу помоч т.к. в масивах я не бум-бум а завтра надо здавать.
1. Зделайте програмный код для вычесления количества символов "*" и "%" в строке что вводитса в окно Edit . Сообщение о количестве найденых символов выведести в окно Memo
2. Зделайте програмный код для табуляцыи функцыи f(x)  на промежутке [0,100] с шагом h=0,1 * 15
f(x)=log10(x)/sqrt(2x(в кубе)+3
Вычеслите количество елементов созданого масива. Значение елементов масива выведете на екран с использованием компонента StringGrid.
3.Вычислите средьнее арефметичное значение елементов масивазделаного в задании 2.

Автор: Hang 24.12.2007, 19:04
Цитата

1. Зделайте програмный код для вычесления количества символов "*" и "%" в строке что вводитса в окно Edit . Сообщение о количестве найденых символов выведести в окно Memo


Код

procedure TForm1.Button1Click(Sender: TObject);
var
    st: String;
    i:  Integer; //счетчик
    k1: Integer; //для подсчета символов *
    k2: Integer; //для подсчета символов %
begin
  st:=Edit1.Text;
  k1:=0;
  k2:=0;
  Memo1.Clear;
  for i:=1 to Length(st) do
  begin
    if st[i]='*' then
      inc(k1);  //k1:=k1+1;
    if st[i]='%' then
      inc(k2);  //k2:=k2+1;
  end;
  Memo1.Lines.Add('Количество символов "*" = '+IntToStr(k1));
  Memo1.Lines.Add('Количество символов "%" = '+IntToStr(k2));
end;

Автор: THandle 24.12.2007, 19:06
Hang, пользуйся кнопкой "Код". 

Автор: Hang 24.12.2007, 19:07
Цитата

f(x)=log10(x)/sqrt(2x(в кубе)+3


где закрывается скобочка: sqrt(2x(в кубе)+3 ???

Добавлено через 2 минуты и 5 секунд
THandle, в следующий раз так и сделаю! (не знал просто)

Автор: Kirgston 24.12.2007, 20:53
f(x)=log10(x)/(√(2x^3 )+3)

Автор: Alexeis 24.12.2007, 21:00
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: Kirgston 24.12.2007, 21:03
вот более понятная формула

Автор: Hang 25.12.2007, 01:41
Цитата

2. Зделайте програмный код для табуляцыи функцыи f(x)  на промежутке [0,100] с шагом h=0,1 * 15
f(x)=log10(x)/sqrt(2x(в кубе)+3
Вычеслите количество елементов созданого масива. Значение елементов масива выведете на екран с использованием компонента StringGrid.
3.Вычислите средьнее арефметичное значение елементов масивазделаного в задании 2. 


Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, Math;

type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const h=0.1*15;
var
    i,k: Integer;
    f,x,sum: Real;
    a: array[0..100] of Real;
begin
  {for i:=0 to 100 do
    a[i]:=0;           }
  StringGrid1.ColCount:=1;   //можно сделать
  StringGrid1.FixedCols:=0;  //в свойствах
  StringGrid1.FixedRows:=0;  //StringGrid'a
  x:=0;                      //функция не может принимать значение x=0, т.к. log10(x), где x>0
  k:=0;
  sum:=0;
  for i:=0 to 100 do
  begin
    if x<=100 then           //рассматриваем интервал от 0 до 100
    begin
      x:=x+h;
      a[k]:=log10(x)/(sqrt(2*x*x*x)+3);
      inc(k);
    end
    else break;
  end;
  StringGrid1.ColCount:=k;
  Label1.Caption:='Количество элементов созданного массива = '+IntToStr(k);
  for i:=0 to k-1 do
  begin
    StringGrid1.Cells[i,0]:=FloatToStrF(a[i],ffFixed,10,6);
    sum:=sum+a[i];
  end;
  Label2.Caption:='Среднее арифметическое = '+FloatToStrF(sum/k,ffFixed,15,6);
end;

end.

Автор: Kirgston 25.12.2007, 08:42
Большое спасибо! ))) Токо вопрос по заданию 2. Оно у тебя работает?))) у меня при компиляцыи 0 ошыбок все хорошо а вот ничево не выводитса на екран )))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)