Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 22
1

Несколько школьников выстроились в шеренгу. Для каждого школьника известен день (число) его рождения. Требуетс

16.12.2016, 19:31. Показов 1820. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
n:=strtoint(Edit1.Text) ;
label2.caption:=('äàòû äð');
for i:=1 to n do
begin
a[i]:=1+random (31);
end;
end;
end.
Не выводит дни рождения
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2016, 19:31
Ответы с готовыми решениями:

Несколько школьников выстроились в шеренгу. Для каждого школьника известен день его рождения. Требуется: выясн
Несколько школьников выстроились в шеренгу. Для каждого школьника известен день его рождения....

Известен год рождения каждого человека из группы. Определить число людей, родившихся до 1985 и число после 1990 г.
Известен год рождения каждого человека из группы. Определить число людей, родившихся до 1985г. и...

Найти школьника, чей день рождения выпадает на заданный день
Выяснить, имеется ли среди школьников учащийся, день рождения которого совпадает: с наибольшим...

Найти школьника, чей день рождения выпадает на заданный день
Выяснить, имеется ли среди школьников учащийся, день рождения которого совпадает со средним...

13
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.12.2016, 20:03 2
Требуетс
Не выводит дни рождения
Очень информативно.
А написать условие задачи не в названии темы, в сообщении вера не позволяет?
0
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 22
16.12.2016, 20:31  [ТС] 3
9. Несколько школьников выстроились в шеренгу. Для каждого школьника известен день (число) его рождения. Требуется:
1) Определить, является ли последовательность, образован¬ная заданными числами:
а) упорядоченной по убыванию;
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.12.2016, 20:46 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var n,i,a,b,k:integer;
begin
repeat
write('Количество школьников n>1 n=');
readln(n);
until n>1;
writeln('Введите рост школьников');
readln(a);
k:=0;
for i:=2 to n do
 begin
  readln(b);
  if b>a then k:=1;//если одинаковые рядом, считаем что убывает (не возрастает)
                   //если нужно строгое убывание, то if b>=a
  a:=b;
 end;
if k=0 then write('Рост упорядочен по убыванию')
else write('Рост не упорядочен по убыванию')
end.
0
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 22
16.12.2016, 20:51  [ТС] 5
Это паскаль,у меня есть такой код,делфи его не воспринимает
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.12.2016, 21:34 6
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var
  Form1: TForm1;
  n,i,a,b,f:integer;
implementation
 
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Enabled:=true;
Button2.Enabled:=false;
Memo1.Clear;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var k:integer;
begin
val(Edit1.Text,n,k);
if(k<>0)or(n<2)then
 begin
  showmessage('Неерно введено количество школьников');
  Edit1.Clear;
  Edit1.SetFocus;
  exit;
 end;
Button1.Enabled:=false;
Button2.Enabled:=true;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var x,k:integer;
begin
val(Edit2.Text,x,k);
if (k<>0)or not(x in [130..180]) then
 begin
  showmessage('Введите рост от 130 до 180 см');
  Edit2.Clear;
  Edit2.SetFocus;
  exit;
 end;
Memo1.Lines.Add(inttostr(x));
Edit2.Clear;
Edit2.SetFocus;
if i=0 then a:=x
 else
  begin
   b:=x;
   if b>a then f:=1;
   a:=b;
  end;
 inc(i);
 if i=n then
  begin
   Button2.Enabled:=false;
   if f=0 then Memo1.Lines.Add('Рост упорядочен по убываию')
   else Memo1.Lines.Add('Рост не упорядочен по убываию');
 end;
end;
Вложения
Тип файла: rar РОст школьников.rar (169.9 Кб, 6 просмотров)
0
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 22
16.12.2016, 21:37  [ТС] 7
у меня дни рождения,их вводить через пробел?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.12.2016, 21:42 8
Тьфу, а я рост написал, переделайте на дни рождения, все так же, только изменить текст компонентах с роста на дни рождения и числа не 130..180, а 1..31. А вводить по одному в Эдит и нажимать кнопку.
0
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 22
16.12.2016, 21:43  [ТС] 9
Спасибо большое,очень помогли.
Я прям очень ВАМ благодарна)

Добавлено через 42 секунды
а можно это сделать через массив?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.12.2016, 21:45 10
А зачем? Задание же на последовательность. Нем числа не зачем хранить в памяти.А сделать конечно можно.
0
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 22
16.12.2016, 21:56  [ТС] 11
Тема-разработка приложений через массив
Можете помочь?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.12.2016, 08:23 12
Можно в том же стиле.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var
  Form1: TForm1;
  a:array of Integer;
  n,i:integer;
implementation
 
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Enabled:=true;
Button2.Enabled:=false;
Memo1.Clear;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var k:integer;
begin
val(Edit1.Text,n,k);
if(k<>0)or(n<2)then
 begin
  showmessage('Неерно введено количество школьников');
  Edit1.Clear;
  Edit1.SetFocus;
  exit;
 end;
SetLength(a,n);
Button1.Enabled:=false;
Button2.Enabled:=true;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var x,k,f:integer;
begin
val(Edit2.Text,x,k);
if (k<>0)or not(x in [1..31]) then
 begin
  showmessage('Вводите дни рождения от 1 до 31');
  Edit2.Clear;
  Edit2.SetFocus;
  exit;
 end;
a[i]:=x;
Memo1.Lines.Add(inttostr(a[i]));
Edit2.Clear;
Edit2.SetFocus;
inc(i);
if i=n then
 begin
  Button2.Enabled:=false;
  f:=0;
  k:=1;
  while (k<n)and(f=0) do
  if a[k]>a[k-1] then f:=1
  else inc(k);
  if f=0 then Memo1.Lines.Add('Дни рождения упорядочены по убыванию')
  else Memo1.Lines.Add('Дни рождения не упорядочены по убыванию');
 end;
end;
Вложения
Тип файла: rar Дни рождения.rar (170.0 Кб, 2 просмотров)
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.12.2016, 08:54 13
Можно по другому.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
var
  Form1: TForm1;
  a:array of Integer;
  n:integer;
implementation
 
{$R *.dfm}
//зададим некоторые параметры компонентов
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Enabled:=true; //1 кнопку вулючим
Button2.Enabled:=false;//2 выключим
with StringGrid1 do //таблица
 begin
   FixedCols:=0; //нет фиксированных стобцов
   FixedRows:=0;  // и строк
   DefaultColWidth:=25;//ширина столбцов
   RowCount:=1; //кол. строк
   ScrollBars:=ssHorizontal; //горизонтальная прокрутка
   Options:=Options+[goEditing];//разрешить ввод в ячейки
  end;
end;
//вод размера массива
procedure TForm1.Button1Click(Sender: TObject);
var k:integer;
begin
val(Edit1.Text,n,k);
if(k<>0)or(n<2)then
 begin
  showmessage('Неерно введено количество школьников');
  Edit1.Clear;
  Edit1.SetFocus;
  exit;
 end;
SetLength(a,n);
StringGrid1.ColCount:=n;
Button1.Enabled:=false;
Button2.Enabled:=true;
ShowMessage('Введите в ячейки таблицы числа от 1 до 31');
end;
 
 
//решение
procedure TForm1.Button2Click(Sender: TObject);
var i,k,f:Integer;
begin
for i:=0 to n-1 do
 begin
  Val(StringGrid1.Cells[i,0],a[i],k);
  if(k<>0)or not(a[i] in [1..31]) then
   begin
     ShowMessage('Не все значения введены верно, поправьте');
     exit;
   end;
  end;
f:=0;
i:=1;
while (i<n)and(f=0) do
if a[i]>a[i-1] then f:=1
else inc(i);
if f=0 then ShowMessage('Дни рождения упорядочены по убыванию')
else ShowMessage('Дни рождения не упорядочены по убыванию');
 
end;
Вложения
Тип файла: rar Дни рожления_2.rar (190.5 Кб, 2 просмотров)
0
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 22
19.12.2016, 18:12  [ТС] 14
Спасибо огромное)
0
19.12.2016, 18:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2016, 18:12
Помогаю со студенческими работами здесь

известен год рождения каждого человека из группы
известен год рождения каждого человека из группы. определить число людей,родившихся до 1985 года и...

Цикл: Известен год рождения-каждого человека из группы
Известен год рождения-каждого человека из группы. Определить число людей, родившихся до 1985 года,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru