![]() |
|
#1
|
|||
|
|||
![]() У кого есть или Бог в программировании помогите с задачами:
1. Разработать функцию, которая преобразует заданное целое число по следующему правилу: если старшая цифра числа четная, то удвоить ее (например 235— 435 ) 2. Разработать процедуру, которая изменяет элементы заданного целочисленного массива по выше описанному правилу. Вывести массив и количество измененных элементов. |
#2
|
||||
|
||||
![]() Код:
function ChangeFirstChar(N: Integer): Integer; begin if StrToInt(IntToStr(N)[1]) mod 2 = 0 then Result:=StrToInt(IntToStr(StrToInt(IntToStr(N)[1])*2) + Copy(IntToStr(N), 2, Length(IntToStr(N)))) else Result:=N; end; procedure ChangeFirstChars(var AN: Array of Integer); var i: Integer; begin for i:=Low(AN) to High(AN) do AN[i]:=ChangeFirstChar(AN[i]); end; Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#3
|
|||
|
|||
![]() 1.) На форму помещаешь Edit, Button и Label. Для кнопки пишешь код:
Код:
procedure TForm1.Button1Click(Sender: TObject); Var k,m:integer; s:string; begin s:=Edit1.Text; s:=Copy(s,0,1); k:=strtoint(s); m:=strtoint(Edit1.Text); if (k and 1) = 0 then m:=m*2; Label1.Caption:=inttostr(m); end; 2.) На ту же форму помещаешь вторую кнопку и ListBox. Для кнопки пишешь код: Код:
procedure TForm1.Button2Click(Sender: TObject); Var k,m:integer; s:string; A:Array [0..11] of integer; //Объявляем массив из 12 элементов i:integer; begin ListBox1.Items.Clear; //Заполняем массив цифрами: A[0]:=5; A[1]:=10; A[2]:=20; A[3]:=30; A[4]:=40; A[5]:=50; A[6]:=60; A[7]:=70; A[8]:=80; A[9]:=90; A[10]:=100; A[11]:=200; //Делаем цикл: for i := 0 to High(A) do begin s:=Copy(inttostr(A[i]),0,1); //Берем первое число k:=strtoint(s); m:=A[i]; if (k and 1) = 0 then m:=m*2; ListBox1.Items.Add(inttostr(m)); //заполняем ListBox end; |
#4
|
|||
|
|||
![]() все бы хорошо,но надо в консольном(
|
#5
|
||||
|
||||
![]() Мой вариант работает и в консоли.
Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#6
|
|||
|
|||
![]() но нет самой функции и процедуры,у нас не сохранены они их надо писать
|
#7
|
||||
|
||||
![]() ???
В моем первом посте написана процедура и функция. Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#8
|
|||
|
|||
![]() ну фишка же в том,что надо расписать сам алгоритм нахождения первой цифры и там далее
|
#9
|
||||
|
||||
![]() А в моем посте это разве не написано?
Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#10
|
|||
|
|||
![]() первое посмотрел,ты лучший.спасибо,позже вторую посмотрю,если что спрошу)огромное спасибо
|
#11
|
|||
|
|||
![]() Код:
program Project1; {$APPTYPE CONSOLE} uses SysUtils; function ChangeFirstChar(N: Integer): Integer; begin if StrToInt(IntToStr(N)[1]) mod 2 = 0 then Result:=StrToInt(IntToStr(StrToInt(IntToStr(N)[1])*2) + Copy(IntToStr(N), 2, Length(IntToStr(N)))) else Result:=N; end; procedure ChangeFirstChars(var AN: Array of Integer); var i: Integer; begin for i:=Low(AN) to High(AN) do AN[i]:=ChangeFirstChar(AN[i]) end; var AN:integer; x,N,i:integer; begin write('vvedite 4islo= '); readln(N); write('vvedite mass= '); readln(AN); x:=ChangeFirstChar(N); writeln('izm= ',x); {} readln; end. Как вывести массив,помогите,пробую я выводит только первое число массива Aristarh Dark: raggazi, еще одно нарушение правил форума и уйдешь в бан. |
#12
|
||||
|
||||
![]() Код:
program Project1; {$APPTYPE CONSOLE} uses SysUtils; function ChangeFirstChar(N: Integer): Integer; begin if StrToInt(IntToStr(N)[1]) mod 2 = 0 then Result:=StrToInt(IntToStr(StrToInt(IntToStr(N)[1])*2) + Copy(IntToStr(N), 2, Length(IntToStr(N)))) else Result:=N; end; procedure ChangeFirstChars(var AN: Array of Integer); var i: Integer; begin for i:=Low(AN) to High(AN) do AN[i]:=ChangeFirstChar(AN[i]) end; var L, i: Integer; AN: Array of Integer; begin Writeln('Введите размер массива'); Readln(L); SetLength(AN, L); Writeln('Введите элементы массива'); for i:=0 to L - 1 do Readln(AN[i]); ChangeFirstChars(AN); Writeln('Результат'); for i:=0 to L - 1 do Writeln(AN[i]); Readln; end. Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |