TiPo Опубликовано 18 ноября, 2012 Жалоба Поделиться Опубликовано 18 ноября, 2012 Прошу помощи. Язык - Pascal. Заранее спасибо.Требуется подсчитать, сколько дней прошло с начала 2010 года до указанной даты в 2010 году.Входные данныеВводятся два числа, разделенных пробелом - число, месяц.Выходные данныеВывести одно число - количество дней.Примеры тестов:входные данные2 1выходные данные2входные данные31 12выходные данные365Вводится 5 чисел. Требуется записать их в обратном порядке, при этом переставив все цифры в каждом числе в обратном порядке.Входные данныеВводятся 5 натуральных чисел, меньших 1000. Числа разделены пробелом.Выходные данныеВывести полученную последовательность. Числа не должны содержать ведущих нулей (то есть не должны начинаться с нуля).Примеры тестов:входные данные1 2 3 4 5выходные данные5 4 3 2 1входные данные23 543 100 230 7выходные данные7 32 1 345 32Вводятся три цифры. Требуется составить из них наибольшее возможное четное число.Входные данныеВводятся три цифры, разделенные пробелом. Гарантируется, что хотя бы одна из них отлична от нуля и хотя бы одна цифра четная.Выходные данныеВывести одно трехзначное число (без пробелов). Число не может начинаться с нуля.Примеры тестоввходные данные2 4 3выходные данные432входные данные0 0 1выходные данные100 Ссылка на комментарий
zaki Опубликовано 18 ноября, 2012 Жалоба Поделиться Опубликовано 18 ноября, 2012 Отчисляйся. Ссылка на комментарий
TiPo Опубликовано 19 ноября, 2012 Автор Жалоба Поделиться Опубликовано 19 ноября, 2012 zakiЯ не учусь в универе. Я самостоятельно изучаю язык. Нашёл старые задачки. Что-то не совсем получается.Добавлено спустя 3 минуты 15 секунд:Ещё хочется посмотреть разные способы решения. Например вторую задачку если подумать, то можно решить не числовыми значениями, а строковыми. Но это не подходит ко всем вводимым числам. Ссылка на комментарий
zaki Опубликовано 19 ноября, 2012 Жалоба Поделиться Опубликовано 19 ноября, 2012 zakiЯ не учусь в универе. Я самостоятельно изучаю язык. Нашёл старые задачки. Что-то не совсем получается.Добавлено спустя 3 минуты 15 секунд:Ещё хочется посмотреть разные способы решения. Например вторую задачку если подумать, то можно решить не числовыми значениями, а строковыми. Но это не подходит ко всем вводимым числам.Тогда молодец! Но почему мы за тебя должны изучать ЯП? Ладно ты бы спросил про какую то функцию или что там...Я сам пхп учу, часто прошу помочь. Но я не прошу реализовать всю задачу. Ссылка на комментарий
TiPo Опубликовано 19 ноября, 2012 Автор Жалоба Поделиться Опубликовано 19 ноября, 2012 zakiЯ наверно неправильно сформулировал вопрос. Я прошу подсказать мне как наименее затратно решить эти задачи. Или функцию, процедуру подскажите пожалуйста. Ссылка на комментарий
NAT Опубликовано 19 ноября, 2012 Жалоба Поделиться Опубликовано 19 ноября, 2012 может стоит книжку по которой ты учишься прочитать до конца? Ссылка на комментарий
promises Опубликовано 19 ноября, 2012 Жалоба Поделиться Опубликовано 19 ноября, 2012 1. можно тупо записать в массив из 12 элементов количество дней в каждом месяце, а потом до N-1 месяца из входных данных плюсовать числа с массива, а потом прибавить кол-во дней из даты.2. да, можно записать строку, потом записать ее с конца до начала и удалить нули после пробелов.3. ищешь минимальное четное, ставишь в правый разряд, а остальные числа записываешь по убыванию Ссылка на комментарий
TiPo Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 promisesСпасибо. Ссылка на комментарий
piecemaker Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 1. а можно в массив сразу писать накопленную сумму дней каждого месяца типа[31, 59, 90 ...]тогда ответ будет a=m[x]+y Ссылка на комментарий
TiPo Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 piecemakerСпасибо. Ссылка на комментарий
TiPo Опубликовано 22 ноября, 2012 Автор Жалоба Поделиться Опубликовано 22 ноября, 2012 Две решил. Но последняя не получается. Точнее получается, но не со всеми значениями.var a,b,c,n,m,m1,m2,k,l:word;begin//repeat readln(a,b,c);(*until*) if ((a<>0) or (b<>0) or (c<>0)) and ((a mod 2=0) or (b mod 2=0) or (c mod 2=0)) then begin m:=a; k:=b; l:=c; if (b then begin m:=b; k:=a; l:=c; end; if (c then begin m:=c; k:=b; l:=a; end; n:=m; m1:=k; m2:=l; if m1>l then begin m1:=l; m2:=k; end; write(m2,m1,n); (*n:=m2*100+m1*10+n; write(n);*) end else exit;end.program zp;С какими значениями не проходит узнать не получается. Так как проверяет удалённый сервер. Где может быть ошибка? Ссылка на комментарий
promises Опубликовано 22 ноября, 2012 Жалоба Поделиться Опубликовано 22 ноября, 2012 по-моему у тебя не все условия покрываются., попробуй как то так сделать:var numArrayIn : array [1..3] of byte; numArrayOut : array [1..2] of byte; i, imin, temp: byte;begin readln(numArrayIn[1],numArrayIn[2],numArrayIn[3]); // не помню какой там ввод, если честно // в цикле находим минимальное четное temp := 10; for i:=1 to 3 do begin if ((numArrayIn[i] < temp) and (numArrayIn[i] mod 2 = 0)) then begin temp := numArrayIn[i]; imin := i; end; end; // -------------- temp := 1; for i:=1 to 3 do begin if (i <> imin) then begin numArrayOut[temp] := numArrayIn[i]; temp := temp + 1; end; end; if (numArrayOut[1] < numArrayOut[2]) then writeln(numArrayOut[2],numArrayOut[1],numArrayIn[imin]) else writeln(numArrayOut[1],numArrayOut[2],numArrayIn[imin])end.синтаксис правда не помню нихера да и намудрил скорее всего и проще можно было сделать Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти