Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Я начинающий программист, помогите, немогу найти и понять в чем ошибка программы

57K
23 февраля 2010 года
ah4uk
4 / / 18.02.2010
Эта прога должна вывести все четные числа из массива и вычислить их среднее арифметическое. Ввод чисел в массив StringGrid с клавиатуры (goEdition--->true). Вывод результатов в Memo. По мимо этого кол-во строк и столбцов регулируется с помощью SpinEdit1--->N и
SpinEdit2--->M... вроде алгоритм написан правильно, но все равно показывает ошибку...

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
Button1: TButton;
StringGrid1: TStringGrid;
Memo1: TMemo;
Label4: TLabel;
procedure FormCreate(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure SpinEdit2Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
var
A:array[1..6,1..8] of extended;
n,m,k,s,sa:integer;
procedure TForm1.FormCreate(Sender: TObject);
begin
SpinEdit1.Text:='4'; // начальное значение n
SpinEdit2.Text:='6'; // начальное значение m
StringGrid1.RowCount:=4; // количество строк массива A
StringGrid1.ColCount:=6; // количество столбцов массива A
Memo1.Clear;
Memo1.Lines.Add('Лабораторная работа №4 - Массив');
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
n:=StrToInt(SpinEdit1.Text);// n присваивается содержимое поля редактора
StringGrid1.RowCount:=n; // устанавливается количество строк массива A
end;

procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
m:=StrToInt(SpinEdit2.Text);// m присваивается содержимое поля редактора
StringGrid1.ColCount:=m; // устанавливается количество столбцов массива A
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer; // объявление локальных переменных
begin
n:=StrToInt(SpinEdit1.Text);
StringGrid1.RowCount:=n;
m:=StrToInt(SpinEdit2.Text);
StringGrid1.ColCount:=m;
// Ввод значений из таблицы в массив A
for i:=1 to n do
for j:=1 to m do
A[i,j]:=StrToFloat(StringGrid1.Cells[j-1,i-1]);
end;
k:=0;
s:=0;
sa:=0;
begin
if A[i,j] mod 2<>0 then k:=k+1;
end;
begin
s:=s+A[i,j];
sa:=s/k
Memo1.Lines.Add('K='+FloatToStrF(k,ffFixed,6,2)+
' S='+ FloatToStrF(s,ffFixed,6,3)+
' SA='+ FloatToStrF(sa,ffFixed,6,3));
end;
end.
9.0K
23 февраля 2010 года
mr_smit
64 / / 03.12.2006
Где ошибку то показывает? И какую?
303
24 февраля 2010 года
makbeth
1.0K / / 25.11.2004
В 17 строке, вестимо.. Автор, если хочешь получить помощь, научись нормально задавать (и оформлять) вопросы.
253
04 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Здесь на сайте структура не видна...


Здесь на сайте тоже очень неплохо может быть видна структура:

 
Код:
begin
  for i := 0 to length(a) - 1 do
  begin
    if ... then
     do...
    else
      undo...
  end;
end;
6
04 марта 2010 года
George
4.1K / / 05.01.2007
уважаемый Василий, прекратите везде рекламировать свой форматтер - он ужасен. если еще увижу рекламу где-то кроме вашей темы про ваш форматтер - пожалуюсь модеру. здесь форум, а не доска объявлений. для доски есть другой раздел.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог