| 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 |
|
|