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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.03.2008, 18:41
raggazi raggazi вне форума
Прохожий
 
Регистрация: 19.03.2008
Сообщения: 32
Репутация: 10
По умолчанию Помогите срочно

У кого есть или Бог в программировании помогите с задачами:
1. Разработать функцию, которая преобразует заданное целое число по следующему правилу: если старшая цифра числа четная, то удвоить ее (например 235— 435 )
2. Разработать процедуру, которая изменяет элементы заданного целочисленного массива по выше описанному правилу. Вывести массив и количество измененных элементов.
Ответить с цитированием
  #2  
Старый 19.03.2008, 19:07
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Код:
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  
Старый 19.03.2008, 19:33
Terio Terio вне форума
Новичок
 
Регистрация: 16.01.2008
Сообщения: 56
Репутация: 10
По умолчанию

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  
Старый 19.03.2008, 19:34
raggazi raggazi вне форума
Прохожий
 
Регистрация: 19.03.2008
Сообщения: 32
Репутация: 10
По умолчанию

все бы хорошо,но надо в консольном(
Ответить с цитированием
  #5  
Старый 19.03.2008, 19:35
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Мой вариант работает и в консоли.
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #6  
Старый 19.03.2008, 19:41
raggazi raggazi вне форума
Прохожий
 
Регистрация: 19.03.2008
Сообщения: 32
Репутация: 10
По умолчанию

но нет самой функции и процедуры,у нас не сохранены они их надо писать
Ответить с цитированием
  #7  
Старый 19.03.2008, 19:42
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

???
В моем первом посте написана процедура и функция.
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #8  
Старый 19.03.2008, 19:43
raggazi raggazi вне форума
Прохожий
 
Регистрация: 19.03.2008
Сообщения: 32
Репутация: 10
По умолчанию

ну фишка же в том,что надо расписать сам алгоритм нахождения первой цифры и там далее
Ответить с цитированием
  #9  
Старый 19.03.2008, 19:44
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

А в моем посте это разве не написано?
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #10  
Старый 19.03.2008, 19:50
raggazi raggazi вне форума
Прохожий
 
Регистрация: 19.03.2008
Сообщения: 32
Репутация: 10
По умолчанию

первое посмотрел,ты лучший.спасибо,позже вторую посмотрю,если что спрошу)огромное спасибо
Ответить с цитированием
  #11  
Старый 19.03.2008, 23:24
raggazi raggazi вне форума
Прохожий
 
Регистрация: 19.03.2008
Сообщения: 32
Репутация: 10
По умолчанию

Код:
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  
Старый 20.03.2008, 11:37
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Код:
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. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter