KMA
Долгожитель
|
Переменной X присвоить 1, если элтменты массива В(40) образуют возрастающую последовательность и значение 0 в противном случае.
Code Sample:
j:=1; while (j<39) and (b[j]<b[j+1]) do j:=j+1; if j=40 then x:=1 else x:=0;
Вот и вся задача.
и попроще Дано натуральное число n(n<=99) Выяснить верно ли что n равно кубу суммы цифр числа n. заранее спасибо.
При помощи div и mod выделяешь цифры, а далее все сделаешь сам. Чтобы выделить последнюю цифру достаточно написать такое: k:=n mod 10; Чтобы получить первую цифру двухзначного числа достаточно написать такое: l:=n div 10; Собственно все.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 9 дек. 2007 15:08 | IP
|
|
Guest
Новичок
|
Привет всем, помогите плиз решить задачку Вывести на экран все трёх-значные числа в возратающем порядке, сумма квадратов двух первых цифр равна третьей цифре. !!! оператор div mod не использоавть!!!
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 9 дек. 2007 23:28 | IP
|
|
Guest
Новичок
|
и ещё две 2) найти P -произведение в десятичной записи целого неотриц числа N.проверить полученное число на чётность. 3) написать прогу, выводящую таблицу значений функции y=(2*ln(abs(x))/(3*x*x-12)) +cosx для x принадлежащих промежутку [a,b] с шагом h
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 9 дек. 2007 23:40 | IP
|
|
KMA
Долгожитель
|
Все внимательно читаем первую страницу раздела!!! (Сообщение отредактировал KMA 10 дек. 2007 14:08)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 10 дек. 2007 14:07 | IP
|
|
KoKoS
Новичок
|
Есть у нас целое n>0,нужно удалить одну цифру так штоб число(которое осталось)было какнайбольшим числов.Записать число в один рядок не больше чем 100 000, и не меншое чем 2(ето символ n),и вивести найбольшое число. Может нужно получить количество цифр числа. Придумать как выбросить н-ю цифру. Написать цикл, выбрасывать в нем все цифры по очереди и искать максимум. Если я правильно думаю то помогите мне ее реализовать...
|
Всего сообщений: 2 | Присоединился: декабрь 2007 | Отправлено: 10 дек. 2007 20:50 | IP
|
|
KMA
Долгожитель
|
Есть у нас целое n>0,нужно удалить одну цифру так штоб число(которое осталось)было какнайбольшим числов.Записать число в один рядок не больше чем 100 000, и не меншое чем 2(ето символ n),и вивести найбольшое число. Может нужно получить количество цифр числа. Придумать как выбросить н-ю цифру. Написать цикл, выбрасывать в нем все цифры по очереди и искать максимум. Если я правильно думаю то помогите мне ее реализовать...
Зачем все-то перебирать? Думай проще. Итак, для начала нужно выкинуть цифру из числа таким образом, чтобы получить максимальное число. Понятное дело, что максимум мы получим, только по первой цифре... В общем смотри. 12345 Понятное дело, что надо выкидывать 1, тогда порядок числа начнется с 2. Далее 22345 Понятно, что надо выкидывать вторую 2, т. к. на ее место встанет 3 и число будет больше любого другого. 32134 Опять надо выкидывать третью цифру, т. е. 1, опять порядок. Т. е. мы выкидываем ту цифру, которая меньше двух своих соседей одновременно. В частности, если первая цифра меньше второй, то удаляем сразу ее, если же это последняя цифра меньше ее соседа слева, то удаляем ее (но это уже после прохода по всем остальным). Отсюда и алгоритм. 1. Получаем число и переводим его в строку (процедура str (x: ; Var s: string)). 2. Ставим указатель на первый символ (текущий символ) 3. Сравниваем текущий символ со следующим. Если больше либо равен текущий символ, то переходим к шагу 4. Если текущий символ меньше, то удаляем его и выводим число. 4. Сдвигаем на 1 текущий символ. (т. е. если был первый, то текущим станет второй, если был второй, то текущим станет 3 и т. д.). Сдвигаем до тех пор, пока не будет достигнут конец строки минус 1. Когда конец будет достигнут, то удаляем последний символ. Вот так вот кратенько... На Паскале будет что-то вроде этого:
Code Sample:
n:=1; flag:=false; repeat if s[n]<s[n+1] then begin s[n]:='d'; flag:=true end; inc(n); until n=length(s) or flag; if not flag then s[length(s)]:='d';
Ну а затем просто копируешь символы заново в строку, только без d и переводишь обратно в число (если тебе это требуется).
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 11 дек. 2007 21:18 | IP
|
|
netuser
Новичок
|
Кто знает как на паскале написать прогу еоторая будет вращать приближать, удалять гроб, менять цвет граней, показывать, скрывать невидимые грани...
|
Всего сообщений: 2 | Присоединился: декабрь 2007 | Отправлено: 12 дек. 2007 18:23 | IP
|
|
gogo
Новичок
|
PLEASE!!!ПОМОГИТЕ РЕШИТЬ ЗАДАЧКИ!!!) 1) Вывести три буквы – свои инициалы с точками. 2) Вывести номер поезда. Вывести название пункта прибытия.(if,case) 3) 1пайп = 54.18 пек = 477.33л(цикл for) 4) Вычислить длину круга и площадь круга с заданным диаметром.(линейный массив) 5) Кто из кандидатов набрал максимальное, а кто минимальное количество (2_ый массив) 6) Вычислить сумму прибыли и убытков фирмы и их разницу. Когда прибыль была максимальной?(1_ый массив)
|
Всего сообщений: 2 | Присоединился: декабрь 2007 | Отправлено: 12 дек. 2007 19:43 | IP
|
|
Shaker
Новичок
|
Помогите пожалуйста с задачкой!! Дана строка символов. Группу символов, разделенных с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов, назовем словом. Найти в строке все слова, состоящие из трех букв, в которых первая и третья согласная буква, а вторая гласная. Вот часть программы, которую смог написать: program my4; uses crt; const n=100; var s:string; w:array [1..n] of string; x,y,j,i,m:integer; begin clrscr; writeln('BBeDuTe CTPOKY'); readln(s); y:=pos(' ',s); s:=s+' '; m:=0; while y<>0 do begin delete(s,y,1); y:=pos(' ',s); end; while length(s)>0 do begin x:=Pos(' ',s); for i:=1 to n do begin w[ i ]:=copy(s,1,x-1); delete(s,1,x); end; end; writeln; readkey; end. (Сообщение отредактировал KMA 8 янв. 2008 21:19)
|
Всего сообщений: 3 | Присоединился: декабрь 2007 | Отправлено: 13 дек. 2007 5:55 | IP
|
|
Shaker
Новичок
|
Помогите плиз ещё с этими двумя, ато они совсем никак не идут((( 1) С помощью текстового редактора создать файл, содержащий текст, длина кото¬рого не пре-вышает 1000 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT. Написать программу, которая: -выводит текст на экран дисплея; -определяет сколько раз в тексте встречается слово «змея». 2)Организовать типизированный файл, содержащий сведения об адресах и телефонах сотруд-ников предприятия: ФИО, адрес (улица, дом, квартира). Напишите встроенную подпрограмму-функцию для организации безопасного ввода номеров телефонов – целое шестизначное число. Определите сколько сотрудников живет на улице Орликовой.
|
Всего сообщений: 3 | Присоединился: декабрь 2007 | Отправлено: 13 дек. 2007 5:59 | IP
|
|
|