Помогите решить 3 задачи. Времени нету, а с паскалем Давно не работал 1(Матрицы).Дана матрица размера 5х10. Вывести номер ее последней строки, содержащей только положительные элементы. Если таких строк нет, то вывести 0. 2(Строки).Дана строка. Преобразовать все строчные латинские буквы в прописные. 3(Множества).Дан текст из строчных латинских букв, за которыми следует точка. Напечатать первые вхождения букв в текст, сохраняя их исходный взаимный порядок. Заранее спасибо.
1) const maxY = 5; maxX = 3; var mas : array[1..maxY, 1..maxX] of Integer; i, j : Integer; f : Boolean; begin for i := 1 to maxY do begin for j := 1 to maxX do Read(mas[i, j]); ReadLn; end; i := maxY; f := true; while (i > 0) and (f) do begin f := false; for j := 1 to maxX do if mas[i, j] < 0 then f := true; i := i - 1; end; if not f then i := i + 1; WriteLn(i); ReadLn; end.
2) var s : string; i : integer; begin ReadLn(s); for i := 1 to Length(s) do if (Ord(s[i]) >= 97 ) and (Ord(s[i]) <= 122) then s[i] := Char(Byte(s[i]) - 32); //приведение типов WriteLn(s); ReadLn; end.
3) var d : set of 'a'..'z'; s : String; i : Integer; begin ReadLn(s); for i := 1 to Length(s) do if (Ord(s[i]) >= 97 ) and (Ord(s[i]) <= 122) and not(s[i] in d) then begin Write(s[i]); Include(d, s[i]); end; ReadLn; end.
Протестируй получше, а то я ночью писал мог чего и перепутать.
Сообщение отредактировал AquaTour - 29.11.2006 - 4:12
вот задачки: 1 Даны натуральное число n, действительные числа a, b, x1, y1, ..., xn, yn. Пара a, b - координаты школы микрорайона, а пары xi, yi (i = 1, ..., n) - соответственно координаты домов этого микрорайона. Найти расстояния от домов до школы и среднее арифметическое этих расстояний.
2 Дано натуральное число n. Получить сумму тех чисел вида , которые являются утроенными нечетными.
3 Дана строка символов S1,...,Sn. Выяснить, имеются ли в последовательности S1,...,Sn такие члены последовательности Si , Si+1 , что Si - это запятая, а Si+1 - тире.
4 Даны действительные числа A1,..., A28, B1,..., B28. Члены последовательности C1,..., C29 связаны с членами данных последовательностей соотношениями C29=0, C29-i=A29-i/B29-i -C29-i+1 (i=1, ..., 28). Получить: C1,..., C29.
5 Натуральное число называется совершенным, если оно равно сумме всех своих делителей, за исключением себя самого . Число 6 - совершенное, так как 6=1+2+3. Число 8 - не совершенное, т.к. как 8 1+2+4. Дано натуральное число n. Получить все совершенные числа, меньше n.
6 Дано натуральное число n. Выяснить, имеются ли среди чисел n, n+1, ..., 2n близнецы, т.е. простые числа, разность между которыми равна 2. (Определить процедуру, позволяющую распознавать простые числа).
7 Сведения об ученике состоят из его имени и фамилии и названии класса (года обучения и буквы), в котором он учится. Дан файл f, содержащий сведения об учениках школы. Выяснить, имеются ли однофамильцы в каких-либо параллельных классах.
1) const max = 5; var i : Integer; a, b, p, s : real; x : array[1..max] of real; y : array[1..max] of real; function f(j : integer) : real;//вычисление расстояния между 2-мя точками begin f := Sqrt(Sqr(a - x[j]) + Sqr(b - y[j])); end; begin ReadLn(a, ; for i := 1 to max do ReadLn(x[i], y[i]); s := 0; for i := 1 to max do begin p := f(i); WriteLn(p); s := s + p; end; WriteLn('*****'); WriteLn(s / max); ReadLn; end.
4) const max = 28; var i : integer; a, b : array[1..max] of real; c : array[1..max + 1] of real; begin for i := 1 to max do Read(a[i]); for i := 1 to max do Read(b[i]); c[max + 1] := 0; for i := max downto 1 do c[i] := a[i] / b[i] + c[i + 1]; for i := 1 to max + 1 do Write(c[i] : 2 : 1, ' '); ReadLn; end.
5) var n, i : integer; function F(inp : integer) : boolean; var tmp, j : integer; begin tmp := 0; for j := 1 to (inp div 2) do if inp mod j = 0 then tmp := tmp + j; if tmp = inp then F := true else F := false; end; begin ReadLn(n); for i := 1 to n do if F(i) then Writeln(i); ReadLn; end.
Сообщение отредактировал AquaTour - 30.11.2006 - 4:10
6) var i, n : Integer; function F(v : integer) : boolean; var r, d : integer; begin d := 2; repeat r := v mod d; if r <> 0 then Inc(d); until r = 0; if d = v then F := true else F := false; end;
begin ReadLn(n); for i := n to n * 2 - 2 do if F(i) then if F(i + 2) then WriteLn(i, ' - ', i + 2); ReadLn; end.
7) type rec = record sn : string[30];{фамилия} n : string[30];{имя} y : string[2];{год обучения} b : string[1];{буква класса} end; { rec } var m : array[1..100] of rec; i, n, j : integer; f : file of rec; begin n := 0; Assign(f, 'input.txt'); Reset(f); while not EOF(f) do begin Read(f, m[i]); n := n + 1; end; Close(f); for i := 1 to n do for j := 1 to n do if (m[i].sn = m[j].sn) {проверяем одинаковые ли фамилии} and (m[i].y = m[j].B ){проверяем год обучения} and (i <> j) then {и проверяем что это не один и тот же ученик} WriteLn(m[i].sn, ' ', m[i].n, ' ', m[i].y, ' ', m[i].B ); ReadLn; end.
2) var i, n, z : Integer; begin ReadLn(n); z := 0; for i := 1 to n do if Odd(i * 3) then z := z + i; Write(z); ReadLn; end.
Сообщение отредактировал AquaTour - 30.11.2006 - 0:36
народ, вот прошло пол года, а точнее один семестр и мне снова нужна ваша помощь:). На этот раз програмки простые, надеюсь не оставите без внимания. 5 заданий в прикрепленом вордовском файле.
1) Текстовые файлы. Написать программу, которая выделяет раздел операторов Паскаль - программы и записывает его в текстовый файл.
2) Указатели Написать процедуру или функцию, которая находит среднее арифметическое непустого списка L.
3) массив Создать и обработать массив с данными о студентах (например, успеваемость, или общежитие, кто где расселен. Вобщем-то задание просто на обработку массива, запись, изменение, дополнение)
Профиль
Группа: Модераторы
Сообщений: 1.104 Регистрация: 24.01.2006 Из: Where The Eagles Fly Пользователь №: 333
Респектов: 111
Цитата | Quote(jkalamari @ 6.02.2008 - 15:16)
3) массив Создать и обработать массив с данными о студентах (например, успеваемость, или общежитие, кто где расселен. Вобщем-то задание просто на обработку массива, запись, изменение, дополнение)
Массив одномерный или двумерный?
Цитата | Quote
Написать программу, которая выделяет раздел операторов Паскаль - программы и записывает его в текстовый файл.
showtopic = 24092 st = 20 request_method = get _low_act = act = st t = 24092 f = 44 IP_ADDRESS = 38.103.63.17 last_activity = 1215578419 last_visit = 1215578419 skinid = 0 selectedpids = selectedpidcount = 0
SKIN & TASK Info
_css = html
{
overflow-x: auto;
}
body
{
background: #F5F5F5 url(style_images/<#IMG_DIR#>/back.gif);
color: #10264E... _wrapper = <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"... _macro = a:111:{s:7:"a_apoll";a:6:{s:8:"macro_id";s:3:"218";s:11:"macro_value";s:7:"A_APOLL";s:13:"macro_replace";s:79:"<img src=... _skincacheid = 7 _csscacheid = 7 _imagedir = 1 _emodir = default _setid = 7 _setname = Vizion Pro x (Импорт) _usecsscache = 0 Next task = Сегодня, 8:16
Time now = Сегодня, 7:43 Timestamp Now = 1215578419
Loaded PHP Templates
skin_global, skin_topic
Queries Used
SET CHARACTER SET cp1251SELECT * FROM ibf_topics WHERE tid=24092SELECT * FROM ibf_cache_store WHERE cs_key IN ( 'attachtypes','bbcode', 'multimod','ranks','profilefields','reputation_ranks','calendar','birthdays','banfilters', 'portal_cache', 'bbcode', 'settings', 'group_cache', 'systemvars', 'skin_id_cache', 'forum_cache', 'moderators', 'stats', 'languages' )DELETE FROM ibf_sessions WHERE ip_address='38.103.63.17'SELECT * FROM ibf_skin_sets WHERE set_skin_set_id=7SELECT pid FROM ibf_posts WHERE topic_id=24092 and queued=0 ORDER BY pid LIMIT 20,10SELECT p.*,
m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn, m.job, m.rep, m.rep_all, m.allow_anon, m.allow_rep,
me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size
FROM ibf_posts p
LEFT JOINibf_members m ON (p.author_id=m.id)
LEFT JOINibf_member_extra me ON (me.id=m.id)
WHERE p.pid IN(134884,138821,138854,138865,138937,139054,139139,139246,184044,243769,244337) ORDER BY pid ascSELECT * FROM ibf_attachments WHERE attach_pid IN (134884,138821,138854,138865,138937,139054,139139,139246,184044,243769,244337)
SHUTDOWN:INSERT INTO ibf_sessions (id,member_name,member_id,member_group,in_forum,in_topic,login_type,running_time,location,ip_address,browser,in_error) VALUES('9dff536de747e7e9042e7494afb63006','',0,2,44,24092,0,1215578419,'st,,','38.103.63.17','CCBot/1.0 (+http://www.commoncrawl.org/bot.html)',0)
SHUTDOWN:UPDATE LOW_PRIORITY ibf_topics SET views=views+1 WHERE tid=24092