Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.28;
Скачать: CL | DM;

Вниз

Получить массив и подсчитать его элементы. (+ см.тему)   Найти похожие ветки 

 
Kawun   (2008-11-16 15:38) [0]

Добрый день.

Мучаюсь над задачкой, вот ее условие:
Разработать программу с единтсвенным циклом и ветвлением в теле цикла.

При заданных X1, X2....Xn и Y1, Y2....Yn
получить массив T1, T2....T3
элементы которого получают значения по правилу Ti = max(Xi, Yi)
и подсчитать, сколько элементов Ti получило значение Xi.

А вот ее код:
procedure TForm1.Button1Click(Sender: TObject);
const
 NMAX = 20; {Максимальное кол-во элементов массива}
type
 TMas = Array [1..NMAX] of Real;
var
X: TMas; {Исходный массив}
Y: TMas; {Исходный массив}
T: Tmas; {Массив который нам надо получить}
S: Integer; {Счетчик}
I: Integer;
N: Integer; {Кол-во элементoв массива}
begin
N := StrToInt(EditN.Text); //Задаем N (Кол-во элементов массива)
X[i] := StrToFloat(StringGrid1.Cells[I-1, 0]);//Задаем X
Y[i] := StrToFloat(StringGrid1.Cells[I-1, 1]);// Задаем Y
S:=0; //Присваиваем счетчику 0
for I:=1 To N Do
if x[i]>y[i] then
  begin
    t[i]:=x[i];
    S:=S+1;
  end
else t[i]:=y[i];
EditR.Text:=IntToStr(S); {Вывод результата в текстовое поле}
end;
end.


Что-то не хочет она считать, вылетает с ошибкой.
Подскажите, пожалуйста, в чем может быть проблема.
Спасибо.


 
Palladin ©   (2008-11-16 16:11) [1]

Проблема в ошибке.


 
Kawun   (2008-11-16 16:15) [2]

Тоесть Вы хотите сказать что сам код программы написан правильно?
А текст ошибки таков: "" is hot a valid floating point value.


 
AIK ©   (2008-11-16 16:17) [3]


....
> beginN := StrToInt(EditN.Text); //Задаем N (Кол-во элементов
> массива)X[i] := StrToFloat(StringGrid1.Cells[I-1, 0]);//Задаем
> XY[i] := StrToFloat(StringGrid1.Cells[I-1, 1]);// Задаем
> Y
.....


а чему равен i ?
может в цикле должно быть?


 
Palladin ©   (2008-11-16 16:20) [4]


> А текст ошибки таков: "" is hot a valid floating point value.

и эта ошибка тебе ни о чем не сказала?


 
AIK ©   (2008-11-16 16:24) [5]


> begin
> N := StrToInt(EditN.Text); //Задаем N (Кол-во элементов массива)
> X[i] := StrToFloat(StringGrid1.Cells[I-1, 0]);//Задаем X
> Y[i] := StrToFloat(StringGrid1.Cells[I-1, 1]);// Задаем Y


Извиняюсь когда нажал на «Цитата» криво вставилось


 
Kawun   (2008-11-16 16:24) [6]


>  эта ошибка тебе ни о чем не сказала?

Особо не сказала, что-то про плав. запятую она кричит...
Как это исправить я не понял :-(


 
Palladin ©   (2008-11-16 16:25) [7]


> Kawun   (16.11.08 16:24) [6]

а уже сказали где бред написан


 
Palladin ©   (2008-11-16 16:26) [8]

изучи возможности клавиш F5, F7 и F8


 
Сергей М. ©   (2008-11-16 16:28) [9]


> в чем может быть проблема


Проблемы начинаются со строчки


> X[i] := StrToFloat(StringGrid1.Cells[I-1, 0]);//Задаем X


и далее не кончаются.


 
Kawun   (2008-11-16 16:36) [10]


> ....> beginN := StrToInt(EditN.Text); //Задаем N (Кол-во
> элементов > массива)X[i] := StrToFloat(StringGrid1.Cells[I-
> 1, 0]);//Задаем > XY[i] := StrToFloat(StringGrid1.Cells[I-
> 1, 1]);// Задаем > Y.....а чему равен i ?может в цикле должно
> быть?


Вроде как исправил, вот так верно?

begin
N := StrToInt(EditN.Text); //Задаем N (Кол-во элементов массива)
for I:=1 To N Do
begin
X[i] := StrToFloat(StringGrid1.Cells[I-1, 0]);//Задаем X
Y[i] := StrToFloat(StringGrid1.Cells[I-1, 1]);// Задаем Y
end;



 
AIK ©   (2008-11-16 16:38) [11]


> for I:=1 To N Do
> if x[i]>y[i] then

и здесь фигня


 
Сергей М. ©   (2008-11-16 16:39) [12]


> вот так верно?
>


По кр.мере значение i определено.
А верно или неверно остальное - нам отсюда не видно.


 
AIK ©   (2008-11-16 16:39) [13]


> AIK ©   (16.11.08 16:38) [11]


упс ошибочка


 
Kawun   (2008-11-16 16:45) [14]

2_ AIK


> > AIK ©   (16.11.08 16:38) [11]упс ошибочка


Так здесь:
> for I:=1 To N Do
> if x[i]>y[i] then


Фигня или нет?)


 
Palladin ©   (2008-11-16 16:55) [15]

ну а сам то как думаешь? логику программы тоже за тебя придумывать?


 
AIK ©   (2008-11-16 16:55) [16]

Вроде нет
мне просто показалось что одинаковые переменные сверяются (if x[i]>x[i] then)


 
AIK ©   (2008-11-16 16:58) [17]

Только я вот непойму зачам тут t[i]
его результат ведь всеровно не выводится


 
Anatoly Podgoretsky ©   (2008-11-16 19:12) [18]

> Сергей М.  (16.11.2008 16:28:09)  [9]

Ошибаешься, проблемы начинаются со строчки CONST
Вся программа очаровательный бред не замутненого сознания.


 
Anatoly Podgoretsky ©   (2008-11-16 19:13) [19]

> Kawun  (16.11.2008 16:45:14)  [14]

Фигня, но не надо ничего исправлять, надо просто заниматься своим делом!


 
Anatoly Podgoretsky ©   (2008-11-16 19:15) [20]

> AIK  (16.11.2008 16:58:17)  [17]

Зачем ты ищешь здесь смысл, это же учебное задание, которое провалено по всем пунктам.



Страницы: 1 вся ветка

Текущий архив: 2008.12.28;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
2-1227036079
front
2008-11-18 22:21
2008.12.28
Объявление переменной


15-1225450232
return
2008-10-31 13:50
2008.12.28
Нужен Help по вопросу связонному с MS SQL Server 2005


15-1225372107
maks_
2008-10-30 16:08
2008.12.28
Заказ на программу


2-1227013744
lazerBoy
2008-11-18 16:09
2008.12.28
Отступ в Memo


15-1225166445
Slider007
2008-10-28 07:00
2008.12.28
С днем рождения ! 28 октября 2008 вторник