|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите начинающему в написании программы
Добрый день!
вот мучаюсь и никак не домучаюсь))) есть задачка Даны натуральное число 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, 23.03.2010 в 15:09. |
#2
|
||||
|
||||
Для начала большая просьба использовать 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; В начале был Бит, потом Байт и только потом появилось Слово... |