Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 05.06.2014, 01:25   #1 (permalink)
masterstvo2012
Новичок
 
Регистрация: 05.06.2014
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Red face Паскальчик, задачки

1.Дана строка символов. Требуется построить и вывести множество, элементами которого являются согласные буквы, которые входят текст.
2.Дана строка текста. Найти длину самого короткого слова.
3.Известны средние температуры суток в городе N за месяц. В массиве данных найти номер дня, когда средняя температура первый раз стала положительной
4.Дан массив 5*3 из целых чисел заполненный случайными числами из интервала [0; 20]. Найдите количество четных элементов массива, которые меньше среднего арифметического его элементов.
5.Дано некое n-х значное число. Выбрать из него наибольшую и наименьшую цифру, удалить их и вывести новое число (цифры числа задаются в массиве).
просто я ничего в этом не понимаю))
masterstvo2012 вне форума   Ответить с цитированием

Старый 05.06.2014, 01:25
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

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

Кто решит задачки?
Три задачки

Старый 05.06.2014, 12:55   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от masterstvo2012 Посмотреть сообщение
просто я ничего в этом не понимаю))
Прискорбненько до краюшечки. Ну ладненько, получитеньки:
Цитата:
Сообщение от masterstvo2012 Посмотреть сообщение
1.Дана строка символов. Требуется построить и вывести множество, элементами которого являются согласные буквы, которые входят текст.
Код:
Const
 C=['б','в','г','д','ж','з','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ']+
   ['Б','В','Г','Д','Ж','З','К','Л','М','Н','П','Р','С','Т','Ф','Х','Ц','Ч','Ш','Щ'];
Var
 S:String;
 W:Set of Char;
 i:byte;
 L:Char;
Begin
 W:=[];
 Writeln('Enter the string:');
 Readln(S);
 writeln;
 for i:=1 to Length(S) do
  if S[i] in C then W:=W+[S[i]];
 for L:='б' to 'щ' do
  if L in W then write(L+' ');
 for L:='Б' to 'Щ' do
  if L in W then write(L+' ');
 Readln
End.
Цитата:
Сообщение от masterstvo2012 Посмотреть сообщение
2.Дана строка текста. Найти длину самого короткого слова.
Код:
Const
 C=['a'..'z']+['A'..'Z']+['а'..'я']+['А'..'Я']+['0'..'9'];
Var
 S:String;
 L,L_min,i:byte;
Begin
 Writeln('Enter the string:');
 Readln(S);
 L_min:=255;
 i:=0;
 Repeat
  while not (S[i] in C) do i:=i+1;
  L:=0;
  repeat
   L:=L+1;
   i:=i+1;
  until not (S[i] in C) or (i=Length(S));
  if L<L_min then L_min:=L;
 Until i=Length(S);
 Writeln('Shortest word length is ',L_min);
 Readln
End.
Цитата:
Сообщение от masterstvo2012 Посмотреть сообщение
3.Известны средние температуры суток в городе N за месяц. В массиве данных найти номер дня, когда средняя температура первый раз стала положительной
Код:
Var
 T:Array[1..30] of Integer;
 i:Integer;
Begin
 Randomize;
 for i:=1 to 10 do T[i]:=-12+Random(11);
 for i:=11 to 20 do T[i]:=-5+Random(11);
 for i:=21 to 30 do T[i]:=Random(11);
 for i:=1 to 30 do write(T[i]:4);
 writeln;
 writeln;
 i:=0;
 Repeat
  i:=i+1;
 Until T[i]>0;
 Writeln('n = ',i);
 Readln
End.
Цитата:
Сообщение от masterstvo2012 Посмотреть сообщение
4.Дан массив 5*3 из целых чисел заполненный случайными числами из интервала [0; 20]. Найдите количество четных элементов массива, которые меньше среднего арифметического его элементов.
Код:
Var
 A:Array[1..5,1..3] of byte;
 i,j,n:byte;
 Ar_Mean:real;
Begin
 Randomize;
 Ar_Mean:=0;
 n:=0;
 for i:=1 to 5 do
  begin
   for j:=1 to 3 do
    begin
     A[i,j]:=Random(21);
     Write(A[i,j]:4);
     Ar_Mean:=Ar_Mean+A[i,j]/15;
    end;
   writeln;
  end;
 writeln;
 writeln('Arithmetic Mean is ',Ar_Mean:0:3);
 writeln;
 for i:=1 to 5 do
  for j:=1 to 3 do
   if ((A[i,j] mod 2)=0) and (1.0*A[i,j]<Ar_Mean) then n:=n+1;
 writeln('n = ',n);
 Readln;
End.
Цитата:
Сообщение от masterstvo2012 Посмотреть сообщение
5.Дано некое n-х значное число. Выбрать из него наибольшую и наименьшую цифру, удалить их и вывести новое число (цифры числа задаются в массиве).
Раз в условийке не оговорененько что делинькать, если минимальненькие и максимальненькие циферки попадаются несколько разиков, то я удалюсенькаю их все. Кроме того, если у Вас Паскальчик АВС, то типик Longint надо заменитеньки типиком Integer.
Код:
Var
 N:LongInt;
 A:Array[1..10] of byte;
 i,k,min,max:byte;
Begin
 Write('N (<2147482648) = ');
 Readln(N);
 k:=Trunc(Ln(N)/Ln(10))+1;
 for i:=1 to k do
  begin
   A[k-i+1]:=N mod 10;
   N:=N div 10;
  end;
 min:=10;
 max:=0;
 for i:=1 to k do
  begin
   if A[i]>max then max:=A[i];
   if A[i]<min then min:=A[i];
  end;
 for i:=1 to k do
  if (A[i]<>min) and (A[i]<>max) then write(A[i]);
 Readln;
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 05.06.2014, 18:28   #3 (permalink)
masterstvo2012
Новичок
 
Регистрация: 05.06.2014
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Прискорбненько до краюшечки.
спасибо, вот еще пара задачек) Создайте массив записей, содержащий сведения об альбомах различных групп:
• название группы;
• название альбома;
• год выпуска;
• стиль.
Выведите на экран все альбомы в стиле pop и rock.

2. О сотрудниках некоторого предприятия известно следующее:
• фамилия, инициалы;
• год рождения;
• должность;
• пол.
Сформировать таблицу, записав в нее известную информацию о каждом сотруднике. Вывести на печать информацию о количестве пенсионеров – женщин старше 55 лет и мужчин старше 60 лет.
masterstvo2012 вне форума   Ответить с цитированием
Старый 05.06.2014, 19:56   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Увы, ответик стандартненький: тыц!. Сожалею.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:00.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.