Найти количество цифр в числе в паскале и еще 3 задачи.
Помогите решить задачи пожалуйста..
Пусть дано натурально число n (запись числа n в десятичной системе есть akak-1ak-2K…a0). Составьте программу для ответа на вопрос: Сколько цифр в числе n? (Например N=123 Ответ К=3) Составить программу, которая по данному числу (1-12) выводит название соответствующего ему месяца. Пусть даны целое число N, символы s1, s2, …, sn. Преобразуйте последовательность s1, s2, …, sn, удалив каждый символ звездочки (*) и повторив каждый символ, отличный от звездочки. Как добавить данные в начало файла (написать программу) Заранее спасибо! |
Вот ответ на первый вопрос:
Var n,m,p,k:integer; Begin write('n=');read(n); m:=n;k:=0; while m<>0 do begin p:=m mod 10; K:=K+1; m:=m div 10; end; writeln('k=',k); end. |
еще вариант считывать число в текстовую переменную и тупо посчитать количество символов) гораздо оперативнее на больших числах будет... хотя с современными процами это не прочухать)
|
Цитата:
Year:ARRAY[1..12] of STRING=('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); VAR i:BYTE; BEGIN Write('Number = '); ReadLn(i); Writeln(Year[i]); ReadLn; END. Цитата:
VAR St1:ARRAY [1..N] of CHAR; St2:ARRAY [1..N*2] of CHAR; i,j,M:WORD; BEGIN FOR i:=1 TO N DO READ(St1[i]); j:=1; M:=0; FOR i:=1 TO N DO IF St1[i]<>'*' THEN BEGIN St2[j]:=St1[i]; St2[j+1]:=St1[i]; j:=j+2; M:=M+2; END; FOR j:=1 TO M DO WRITE(St2[j],' '); ReadLn; END. Цитата:
f,f1:TEXT; S:STRING; BEGIN Assign(f1, '{enter the way to NEW file and its name, e.g. 'C:\file2'}'); ReWrite(f1); WriteLn(f1, 'Long ago there were three pigs'); Assign(f, '{enter the way to OLD file and its name, e.g. 'C:\file1'}'); ReSet(f); REPEAT ReadLn(f,S); WriteLn(f1,S); UNTIL EoF(f); Close(f); Close(f1); END. |
Спасибо большое! спасли меня.
|
Vladimir_S, по-моему, в задаче
Цитата:
|
Цитата:
1. ShortInt. 8-битное знаковое. Диапазон -128..+127 2. Integer. 16-битное знаковое. Диапазон -32768..+32767 3. LongInt. 32-битное знаковое. Диапазон -2147483648..+2147483647 4. Byte. 8-битное беззнаковое. Диапазон 0..+255 5. Word. 16-битное беззнаковое. Диапазон 0..+65535 Поскольку в данной задаче i и j не могут принимать отрицательных значений, я и употребил тип Word. А можно было и Integer. |
Vladimir_S, мой Паскаль потребовал заменить тип переменных i и j на integer, по другому выходила ошибка(
|
Цитата:
Меня вообще-то другое беспокоит. В задаче про ввод данных в начало файла я заложил вставку фразы про трех поросят. Интересно, Samoel понимает, что это просто для примера? А то ведь конфуз выйдет, и я окажусь виноват :o . |
Vladimir_S, мой Паскаль пишет следующее:
ОШИБКА: переменная цикла For должна иметь тип Integer, Char, Byte, интервальный или перечисляемый((( |
Часовой пояс GMT +4, время: 06:08. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.