Помощь с pascal`ем, решение задач
|
main
Опытный юзверь
Группа: Пользователи Сообщений: 146 Регистрация: 4.06.2005 Из: г.Красноярск Пользователь №: 19.586
Респектов: 3
Предупреждений: 0
| Люди мне надо решить восемь задач в паскале, если есть кто в нем рулит помогите, а то я сам не успею. | |
| |
28.11.2006 - 23:36 |
FOX
Бывалый
Группа: Пользователи Сообщений: 17 Регистрация: 7.06.2006 Пользователь №: 175.697
Респектов: 0
Предупреждений:
| Помогите решить 3 задачи. Времени нету, а с паскалем Давно не работал 1(Матрицы).Дана матрица размера 5х10. Вывести номер ее последней строки, содержащей только положительные элементы. Если таких строк нет, то вывести 0. 2(Строки).Дана строка. Преобразовать все строчные латинские буквы в прописные. 3(Множества).Дан текст из строчных латинских букв, за которыми следует точка. Напечатать первые вхождения букв в текст, сохраняя их исходный взаимный порядок. Заранее спасибо. | |
| |
29.11.2006 - 3:38 |
AquaTour
Специалист
Группа: Пользователи Сообщений: 417 Регистрация: 4.07.2005 Пользователь №: 27.183
Респектов: 50
Предупреждений: 0
| C Паскалем надо работать 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. Протестируй получше, а то я ночью писал мог чего и перепутать. | |
| |
29.11.2006 - 8:10 |
Slow motion
Unregistered
| вот задачки: 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, содержащий сведения об учениках школы. Выяснить, имеются ли однофамильцы в каких-либо параллельных классах. |
|
| |
29.11.2006 - 15:57 |
AquaTour
Специалист
Группа: Пользователи Сообщений: 417 Регистрация: 4.07.2005 Пользователь №: 27.183
Респектов: 50
Предупреждений: 0
| 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. | |
| |
30.11.2006 - 0:09 |
AquaTour
Специалист
Группа: Пользователи Сообщений: 417 Регистрация: 4.07.2005 Пользователь №: 27.183
Респектов: 50
Предупреждений: 0
| 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. | |
| |
30.11.2006 - 12:08 |
Slow motion
Unregistered
| В 3 обчная строка |
|
| |
14.03.2007 - 10:59 |
Alex Ander
профи!
Группа: Наши Люди Сообщений: 565 Регистрация: 15.11.2005 Из: Полюс Холода Пользователь №: 67.917
Респектов: 64
| 1. Змей Горыныч и Добрыня Никитич У n-голового Змея Горыныча заболело k голов. Змей Горыныч обратился за помощью к Добрыне Никитичу. Добрыня Никитич одним ударом меча срубает подряд не менее двух голов Змея Горыныча. При этом на месте срубленной больной головы вырастает здоровая. Однако вместо срубленной здоровой у Змея Горыныча вырастает больная. Какое минимальное количество ударов должен нанести Добрыня Никитич, чтобы вылечить Змея Горыныча? Формат входного файла В первой строке содержатся числа n и k, разделенные пробелом. Вторая строка состоит из k нулей и n-k единиц. Нуль означает больную голову, а единица – здоровую. Формат выходного файла Содержит минимальное число ударов которыми Добрыня Никитич вылечил Змея Горыныча.
2. Шахматный турнир Несколько лет назад был проведен шахматный турнир, замечательный тем, что в нем ни в одной партии не была зафиксирована ничья. Журналисты решили напечатать таблицу результатов этого уникального турнира. Так как документальных свидетельств этого турнира не оказалось, было решено сделать опрос участников турнира. В результате опроса выяснилось, что каждый участник смог вспомнить только количество очков которые он набрал в этом турнире. Сколько вариантов таблицы результатов могут составит журналисты по результатам этого опроса? (Таблица результатов – эта таблица по которой можно выяснить как сыграли p-й и q-й игроки. Если p-й выиграл, то в p-й строке в q-м столбце стоит 1, в противном случае – 0). Формат входного файла. В первой строке находится число n. (4<=n<=14). Где n – количество участников турнира. В каждой из n следующих строк вначале находится фамилия участника турнира, а затем после пробела – количество очков которые набрал этот шахматист. Формат выходного файла. Выходной файл содержит количество вариантов таблицы результатов.
3 Театр Марья Ивановна с Марьей Михайловной привели школьников в театр. Чтобы не было никаких обид, Марья Ивановна построила всех школьников по алфавиту и рассадила их: сначала в первый ряд слева направо, затем второй ряд слева направо и т.д., заполнив весь зал из n рядов по m кресел. Тут пришла Марья Михайловна и сказала, что ребята сели неправильно – надо пересесть. Она предложила сначала заполнить все первые места от первого ряда к последнему, затем вторые места и т.д. Определите, сколько школьников после такой пересадки останется на своем месте. Например, если n=3 и m=3, то в первом случае дети сядут так: 1 2 3 4 5 6 7 8 9 а во втором – так: 1 4 7 2 5 8 3 6 9 Таким образом, три школьника: 1, 5 и 9 останутся на своих местах. Формат входного файла Входной файл содержит два целых числа n и m (1<=n,m<=109 ) Формат выходного файла Выведите количество школьников, которые останутся на своих местах
4 Три отрезка Петя и Ваня живут в домах, которые расположены на пересекающихся улицах. Однажды Петя пошел в гости Ване. Сначала он шел по своей улице к перекрестку, но, не дойдя до перекрестка пошел напрямик к улице Вани. Вышел на улицу Вани, и оказалось, что вышел между перекрестком и домом Вани. Дойдя до дома Вани, Петя заметил, что все три отрезка его пути равны между собой. Подскажите Пете какой путь он прошел (длину пути). Формат входного файла Входной файл содержит 3 пары чисел – координаты домов Пети, Вани и координаты перекрестка Формат выходного файла Выведите длину пути Пети c точностью до 4 знаков после запятой
| |
| |
14.03.2007 - 13:48 |
scorpio
Mr. SoftoRooMan
[SoftoRooMTeaM]
Группа: СуперМодераторы Сообщений: 8.029 Регистрация: 10.10.2005 Из: LG Пользователь №: 21
Респектов: 1412
| Напиши алгоритмы, а код напишем | |
| |
14.03.2007 - 15:21 |
Alex Ander
профи!
Группа: Наши Люди Сообщений: 565 Регистрация: 15.11.2005 Из: Полюс Холода Пользователь №: 67.917
Респектов: 64
| Знал бы алгоритмы - код бы я сам написал. | |
| |
|
|