imho.ws |
![]() |
![]() |
![]() |
# 21 |
Full Member
Регистрация: 20.07.2002
Адрес: Находка
Сообщения: 740
![]() ![]() ![]() ![]() ![]() ![]() |
Jeff, давай ещё задачки, я тоже хочу порешать, а то у нас в 9 и 10 классах програмирование было (бейсик и паскаль), а сейчас (11кл), пришла новая учёлка, которая ничего не знает, ну и программирования у нас сейчас нет, а жалко. Вот хочу порешать задачки хоть тут, раз в школе не получается.
|
![]() |
![]() |
# 23 |
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Код:
uses crt; const n = 4; var a: array [1..n, 1..n] of integer; i, j, s: integer; begin clrscr; randomize; writeln ('start array:'); for i := 1 to n do begin for j := 1 to n do begin a[i, j] := random (50); write (a[i, j] : 4); end; writeln; end; s := 0; for i := 1 to n do inc (s, a[i, i]); writeln('summ = ', s); readkey; end.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
![]() |
![]() |
# 24 |
Full Member
Регистрация: 20.07.2002
Адрес: Находка
Сообщения: 740
![]() ![]() ![]() ![]() ![]() ![]() |
пред. задача:
uses crt; var a:array[0..9,0..9] of integer; i,j,k,t:integer; begin clrscr; randomize; for i:=0 to 9 do begin for j:=0 to 9 do begin a[i,j]:=random(10); {write(a[i][j]); - для вывода массива на экран} end; {writeln; - для вывода массива на экран} end; for i:=0 to 9 do t:=t+a[i,i]; writeln(t); readln; end. с трехмерным массивом (если это матрица третьего порядка) : uses crt; var a:array[0..9,0..9,0..9] of integer; i,j,k,t:integer; begin clrscr; randomize; for i:=0 to 9 do for j:=0 to 9 do for k:=0 to 9 do a[i,j,k]:=random(10); for i:=0 to 9 do t:=t+a[i,i,i]; writeln(t); readln; end. Давно на паскале ничего не писал. Добавлено через 5 минут: Покя я тут печатал ответ, Ghost упел тоже напечатать решение пред. задачи. P.S. То что заключено в {} можешь не печатать. Добавлено через 3 минуты: Жду ещё задачек поинтереснее. Мож чё ещё на с++ написать? |
![]() |
![]() |
# 29 | |
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
@_is_absent
Цитата:
![]() Jeff Ждем-с. Я сам вообще-то препод по информатике в вузе - хочется вспомнить старое... ![]()
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
|
![]() |
![]() |
# 30 |
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
Ghost
слушай. не в тему немножко. Когда сам был на первом курсе, мне предложили написать программу автоматического расставления "горячих клавиш". в общем-то не сложная программа.. есть список строк (допустим только на русском языке, но это не важно) нужно сопоставить с каждой строкой буковку из этой строки, так чтобы буковки не повторялись. либо сказать, что это сделать невозможно.
__________________
Nunc est bibendum |
![]() |
![]() |
# 31 |
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
@_is_absent
Вот накропал на скорую руку. Здесь, правда, есть зависимость от регистра, но при желании от нее легко избавиться: Код:
uses crt; const n = 5; words: array [1..n] of string = ('copy', 'paste', 'clear', 'cut', 'undo'); procedure hk (s: string; k: integer); far; var i: integer; c: char; begin if k > 5 then begin writeln ('variant:'); for i := 1 to n do writeln (words[i]:10, ' : ', s[i]); end else begin for i := 1 to length(words[k]) do begin c := words[k, i]; if (pos(c, s) = 0) and (pos(c, words[k]) = i) then hk (s + c, succ(k)); end; end; end; begin clrscr; writeln ('result:'); hk ('', 1); writeln ('- end -'); readkey; end.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
![]() |
![]() |
# 32 |
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
Ghost
Красиво. (я не так делал) ![]() У меня без рекурсии было... или это не считается рекурсией? У меня был перебор с возвратом... Это к тому, что может быть такая комбинация строк, при которой важна последователь в которой ты назначаешь "горячие клавиши". Даже где-то был пример, в котором только в одном единственном порядке удавалось найти эти буквочки ![]() А вообще -- красиво. ![]()
__________________
Nunc est bibendum |
![]() |
![]() |
# 33 |
Guest
Сообщения: n/a
|
ne znau v temu ili net no pro turbo pascal nashel tolko tut.
mojet gde to est ssilka na samu progu "turbo pascal windows"? a to ochen nujno.(nasha uchilka sama priznalas chto programirovanie ne znaet??!!??!!) tak chto vikarabkivatsa na ekzamene pridetsa nam samim. a progi netu chtobi doma grizt granit nauki. zaranee blagodaru. |
![]() |
# 35 | |
Full Member
Регистрация: 20.07.2002
Адрес: Находка
Сообщения: 740
![]() ![]() ![]() ![]() ![]() ![]() |
mkasoyan
Цитата:
|
|
![]() |
![]() |
# 36 | |
Full Member
Регистрация: 20.07.2002
Адрес: Находка
Сообщения: 740
![]() ![]() ![]() ![]() ![]() ![]() |
Jeff
Цитата:
Кто знает где в сети можно найти подробное описание комбинаторных алгоритмов и решения олимпиадных задач (про рюкзак там и т.д.). Именно алгоритмы с описанием почему и как работает, а не голый код. |
|
![]() |
![]() |
# 37 |
Not moD
грузчик кильки Регистрация: 21.07.2002
Адрес: Иссстоооония
Сообщения: 5 439
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ну кто там задачки хотел?
![]() Нумба 1: Написать функцию Procent, которая возвращает процент от числа, полученного в качестве аргумента Нумба 2: Написать процедуру, кторая выводить строчку, состоящую из одинаковых символов. Длина строки и символы являются параметрами процедуры Честно говоря я даже понятия не имею о чём тут идёт речь, так что, пожалуйста, не надо меня ни о чём спрашивать gigi |
![]() |
![]() |
# 38 |
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
1.
function Procent(N: Integer, Proc: Integer): Real; begin Procent:= N/100*Proc; end; Если нужно возвращять один процент, то Proc не нужен ![]() 2. procedure StringRepeat(Rep: String; Count: Word); var i: word; begin for i:= 1 to Count do Write(Rep); end;
__________________
Nunc est bibendum |
![]() |