Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.03.2010, 12:14
Adast Adast вне форума
Прохожий
 
Регистрация: 23.03.2010
Сообщения: 2
Репутация: 10
По умолчанию Помогите начинающему в написании программы

Добрый день!
вот мучаюсь и никак не домучаюсь)))
есть задачка

Даны натуральное число n, действительные числа х1, .... , хn. в последовательности х1, .... , хn все члены, меньшие двух заменить нулями. Кроме того, получить сумму нечетных элементов массива и их количество.

я так понял, что memo выводим массив каких либо чисел, к примеру Random(10), а потом заменяем 1 на 0 - вот здесь и вышла загвоздка ((((
у меня все числа заменяются нулями

Помогите плиз

P.S. код для заполнения мемо у меня вышел такой:

Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var i:integer;
begin
memo1.Clear;
for i:=1 to n do
begin a[i]:=random(10);
memo1.Lines.Add(inttostr(a[i]));
end;
end;

код для замены:

Код:
procedure TForm1.BitBtn2Click(Sender: TObject);
var i:integer;
begin
for i:=1 to n do
if a[i]=1  then
a[i]:=0;
memo1.lines.add(inttostr(a[i]));
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 23.03.2010 в 15:09.
Ответить с цитированием
  #2  
Старый 23.03.2010, 14:30
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Для начала большая просьба использовать BB коды в панели ссобщения, так проще чиать код...
Далее по задаче:
Код:
var
 a : array of real;//Динамический массив для разных n
 n : word;//размер массива
//Тут все верно, только небольшая коррекция от меня
procedure TForm1.BitBtn1Click(Sender: TObject);
var 
i : integer;
begin
memo1.Clear;
//memo2.Clear;
SetLength(a, n-1);//Установка размера динамиченского массива
for i := 1 to n do
begin 
a[i-1] := random(10);
memo1.Lines.Add(inttostr(a[i-1]));
//memo2.Lines.Add(inttostr(a[i-1]));//Непонятно зачем, наверное надо
end;
end;
//Закрытие формы
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
form1.close
end;
//Расчеты
procedure TForm1.BitBtn2Click(Sender: TObject);
var 
i, j:integer;
Summ : real;
begin
//Заменяем меньше 2-х нулями
for i:=0 to n-1 do
 if a[i] < 2 then
  a[i]:=0;
//Сумма нечетных элементов массива
Summ := 0;
j : 0;
for i := 0 to n-1 do
 if i mod 2 = 1 then //нечетные элементы массива
 begin
  Summ := Summ + a[i];
  Inc(j);
 end;
//Вывод результатов
memo1.Clear;
for i := 0 to n-1 do
 memo1.lines.add(inttostr(a[i]));
memo1.lines.add('Сумма ' + FloatToStr(Summ));
memo1.lines.add('Количество ' + IntToStr(j));
end;
Как то так, писал по быстрому...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter