Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.12.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
4-1203598024
Strate
2008-02-21 15:47
2008.12.28
GetExtendedTCPTable


6-1197227156
Алекс_
2007-12-09 22:05
2008.12.28
SPX/IPX


2-1227080020
Andrey_ka
2008-11-19 10:33
2008.12.28
ошибка при закрытии проэкта


1-1204962203
GrafDrakula
2008-03-08 10:43
2008.12.28
Прозрачный Listbox1, memo(richedit)


3-1211873955
<bvv>
2008-05-27 11:39
2008.12.28
ORACLE доступ к "чужой" сессии





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский