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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 21:03   #1
Kurai
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 27
По умолчанию Delphi. Вывести наиболее часто повторяющуюся цифру из строки символов

В строке символов, введенных в StringGrid(1строка), найти наиболее часто повторяющуюся цифру

я неочень понимаю, в стринггриде может быть 5 ячеек, а символов внутри нее 15...как нам выделять отдельные символы? как вообще это организовать

я сделала
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Label3: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

 var
Form1:TForm;
a:array of char;
n,i,max: Integer;
chastota:array of integer;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
chastota:=0;   //частота появления цифры
for i:=1 to n do
if a[i] in ['0'..'9'] then  //если символ - цифра
begin
inc(chastota[i]);
end;
max:=0;
for i:=0 to 9 do if chastota[i]>chastota[max] then max:=i;
  Edit1.Text:=(IntToStr(max));   //выводим  результат
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin        // таблицы
    n:=StrToInt(Edit2.Text);
{Задание числа строк и столбцов в таблицах}
   StringGrid1.ColCount:=N;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Clear; Edit2.Clear;
end;

end.
что мне нужно добавить, а точнее как мне вообще организовать программу, чтобы считывались отдельно символы...
Kurai вне форума Ответить с цитированием
Старый 27.04.2010, 23:04   #2
Shaitan63
Пользователь
 
Регистрация: 31.03.2008
Сообщений: 72
По умолчанию

обращение к ячейки в стрингрит осуществляется командой stringgrid1.Cells[x,y] работаешь в нём так как с массивом(двумерным), но номерячеек начинается с 0
Shaitan63 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Си. Ввести строку символов. Найти букву, наиболее часто встречающуюся в тексте. ClassicV Общие вопросы C/C++ 8 05.03.2016 22:39
Pascal: Наиболее часто встречающееся число в массиве. MaGWaY_minsk Помощь студентам 2 20.01.2010 00:22
Нахождение наиболее часто встречающегося элемента Sun :) Помощь студентам 2 30.09.2009 23:01
Найти (в процентах) частоту появления каждого из m наиболее часто встречающихся элементов sk1p Паскаль, Turbo Pascal, PascalABC.NET 2 26.09.2008 23:57
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27