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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2017, 11:01   #1
KaKy3oo
Новичок
Джуниор
 
Регистрация: 21.04.2017
Сообщений: 1
По умолчанию Задачи в Delphi. Помогите пожалуйста.

Добрый день, помогите пожалуйста написать код для задач в программе Delphi.
1.Год является високосным, если его год кратен 4, однако из кратных 100 високосными являются, лишь кратные 400, например, 1700, 1800 и 1900-не високосные годы, 2000-високосный. Дано натуральное число n. Определить, является ли високосным год с таким номером.
2.Даны целые числа a1, a2,….a10. Верно ли, что их сумма есть четное число.
3. Дан массив вещественных чисел. Выяснить верно ли, что количество положительных элементов не превышает 5.
4. В двумерном массиве L (M, N) первый элемент поменять с последним и найти сумму отрицательных элементов. Массив заполнить случайным образом. Исходный и измененный массивы вывести на экран в виде матрицы
KaKy3oo вне форума Ответить с цитированием
Старый 21.04.2017, 11:15   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1. см http://www.programmersforum.ru/showp...39&postcount=4

2.
Код:
if not odd(a1+a2+a3+a4+a5+a6+a7+a8+a9+a10) 
then WriteLn('Верно') 
else WriteLn('Не верно');
3.
Код:
cnt:=0; for i:=1 to n do if a[i]>0 then Inc(cnt);
if cnt<=5
then WriteLn('Верно') 
else WriteLn('Не верно');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.04.2017, 11:17   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

4.
Код:
const m=8;
      n=6;
var i,j,s:integer;
    l:array[1..m,1..n] of integer;
begin
   Randomize;
   For i:=1 to m do
   begin
      For j:=1 to n do
      begin
         l[i,j]:=-10+Random(21);
         Write(l[i,j]:3,'  ');
      end;
      Writeln;
   end;
   Writeln;
   s:=l[1,1];
   l[1,1]:=l[m,n];
   l[m,n]:=s;
   s:=0;
   For i:=1 to m do
      For j:=1 to n do
         If l[i,j]<0 then
            s:=s+l[i,j];
   Writeln(s);
   For i:=1 to m do
   begin
      For j:=1 to n do
         Write(l[i,j]:3,'  ');
      Writeln;
   end;
   Writeln;
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 24.04.2017, 10:08   #4
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

я тоже придумал велосипед индуского кода для даты с поверкой на 29 число виндой.

Код:
procedure TForm2.Button1Click(Sender: TObject);
var
  str_l:string;
begin
  DateVal('29.02.'+Edit1.Text,str_l);
  Label1.Caption:=str_l;
end;
procedure DateVal(str1:string; var str2:string);
var
  DT_l:TDateTime;
  fs: TFormatSettings;
begin
  fs.DateSeparator := '.';
  fs.ShortDateFormat:= 'DD.MM.YYYY';
  fs.LongDateFormat:= 'DD.MM.YYYY';      //
  if TryStrToDate(str1,DT_l,fs) then
  str2:='високосный'
  else
  str2:='не високосный'
end;
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 24.04.2017, 10:38   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
велосипед индуского кода
угу, это в одну строчку делается
Код:
  if DayOfTheMonth(EncodeDate(n,3,1)-1)=29 then str2:='высокосный' else str2:='не высокосный';
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.04.2017, 11:07   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
угу, это в одну строчку делается
Коллеги, ну, если так, тогда, может быть, не заниматься извращением и написать просто с вызовом функции из SysUtils:
Код:
if IsLeapYear(n) then str2:='высокосный' else str2:='не высокосный';
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.04.2017, 11:25   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну для этого нужно еще знать, что есть такая функция. Не знал, посыпаю голову пеплом )) Но все равно извращения с датой в символьном формате куда менее симпатично, чем предложенное мной извращение ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста создать код для этой задачи на Delphi 7 Viktor Makarov Помощь студентам 0 11.01.2014 09:26
Помогите пожалуйста с решением задачи в delphi Miheiy Фриланс 4 01.12.2009 23:51
Задачи в Delphi (матрица, массив, сумма ряда). Помогите, пожалуйста! 8Lesya8 Помощь студентам 3 15.05.2009 20:06