Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2010, 17:59   #1
Konfetkaa
 
Регистрация: 15.03.2010
Сообщений: 3
По умолчанию массивы

задача1..
для исполнителя, владеющего из арифметических действий только сложением и вычитанием, составьте программу возведения действительного числа А в натуральную степень N.

решение...подпишите коментарий...
function mult(a:integer; b:integer):integer;
var i,res:integer;
begin
res := 0;
for I := 1 to b do
res := res+a;
mult := res;
end;

function power(a:integer;n:integer):integer;
begin
if n = 0 then power:= 1
else if n = 1 then power := a
else power := mult(power(a,n-1),a);
end;

procedure TForm1.Button2Click(Sender: TObject);
var n:integer;
a:integer;
begin
a:= StrToint(edit2.Text);
n:= strtoint(edit1.text);
label3.Caption := IntToStr(power(a,n));
end;

задача 2..
изменить знак всех элементов данного массива K чисел с четными (нечетными) номереми на противоположный.
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
len := StrToInt(edit1.Text);
randomize;
StringGrid1.ColCount := len;
for I := 0 to len - 1 do
StringGrid1.Cells[i,0] := IntToStr(random(255)-128);
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
i := 1;
while (i < len) do
begin
StringGrid1.Cells[i,0] := IntToStr(-StrToInt(StringGrid1.Cells[i,0]));
i := i+2;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
i := 0;
while (i < len) do begin
StringGrid1.Cells[i,0] := IntToStr(-strtoint(StringGrid1.Cells[i,0]));
i := i+2;
end;
end;


задача 3..
в предложенном одномерном массиве заменить все нулевые элементы единицами.

procedure TForm1.Button1Click(Sender: TObject);
var i,len:integer;
begin
len := StrToInt(edit1.Text);
randomize;
StringGrid1.ColCount := len;
for I := 0 to len - 1 do
StringGrid1.Cells[i,0] := IntToStr(random(3));
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
for I := 0 to StringGrid1.ColCount - 1 do
if StrToInt(StringGrid1.Cells[i,0]) = 0 then
StringGrid1.Cells[i,0] := '1'
else if strtoint(StringGrid1.Cells[i,0]) = 1 then
StringGrid1.Cells[i,0] := '0';

end;

подпишите пожалуйста коментарий к строкам...
заранее спасибо
Konfetkaa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы ewans Общие вопросы C/C++ 4 31.12.2009 00:39
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Массивы в Си iggor Помощь студентам 2 09.12.2009 13:19
Массивы (С++) Darh Помощь студентам 2 24.09.2009 21:52