Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 27.12.2010, 08:18   #1 (permalink)
Alexander Mece
Новичок
 
Регистрация: 17.12.2010
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Задача из колледжа

Итак - в колледже нам задали очередные задачи, бредового характера...

текст задачи номер 1:

Для большинства существительных, оканивающихся на – анок и - енок, множественное число образуется от другой основы. Как правило, это происходит по образцу: цыпленок-цыплята, мышонок-мышата и т.д. (в новой основе перед последней буквой т пишется а или я в зависимости от предыдущей буквы: если это шипящая, то – а, иначе - )_. Имеются слова исключения, из которых укажем следующие: ребенок (дети), бесенок (бесенята) и т.д. и т.п.
Дан текст, среди символов которого имеется пробел. Группа символов, предшествующая первому пробелу, представляет собой русское слово, оканчивающиеся на –онок, или –енок. Получить это слово во множественном числе.

Номер 2:

Шахматную доску будем представлять символьной матрицей размера 8 x 8. Даны натуральные числа n и m (1 :::;:; n :::;:; 8,] 1 :::;:; m :::;:; 8) – номера вертикали и горизонтали, определяющие местоположение ферзя. Соответствующий элемент матрицы надо положить равным символу Ф. Поля, находящиеся под угрозой ферзя, надо положить равными символу *, а остальные поля – символу 0. Решить аналогичную задачу для коня.

P.S. Заранее спасибо.
Alexander Mece вне форума   Ответить с цитированием

Старый 27.12.2010, 08:18
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Данные топики очень похожи по содержанию на вашу тему

Выпуск из колледжа
Задача по С + +
Задача по С++
Задача в Pascal'е (ЕГЭ)
Задача

Старый 27.12.2010, 08:28   #2 (permalink)
Max
Компьютерщик
 
Аватар для Max
 
Регистрация: 12.02.2008
Адрес: ХМАО
Сообщений: 11,625
Записей в дневнике: 36
Сказал(а) спасибо: 9
Поблагодарили 1 раз в 1 сообщении
Репутация: 26467
По умолчанию

Название темы изменено.

Alexander Mece
Попрошу впредь называть тему более существенно, исходя из содержания вопроса, ибо если это бред, тогда зачем Вы там учитесь?
__________________
Не задавай вопросов, если не знаешь, что делать с ответом.
Max вне форума   Ответить с цитированием
Старый 27.12.2010, 08:44   #3 (permalink)
Alexander Mece
Новичок
 
Регистрация: 17.12.2010
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

ОК, просто задачи действительно меня загрузили... Мозг болит и плавится...


Если мозг болит и плавится - значит, он есть! Вот его и подключите к решению задач. Ваш модератор.
Alexander Mece вне форума   Ответить с цитированием
Старый 28.12.2010, 12:44   #4 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Цитата:
Сообщение от Alexander Mece Посмотреть сообщение
Номер 2: Шахматную доску будем представлять символьной матрицей размера 8 x 8. Даны натуральные числа n и m (1 :::;:; n :::;:; 8,] 1 :::;:; m :::;:; 8) – номера вертикали и горизонтали, определяющие местоположение ферзя. Соответствующий элемент матрицы надо положить равным символу Ф. Поля, находящиеся под угрозой ферзя, надо положить равными символу *, а остальные поля – символу 0. Решить аналогичную задачу для коня.
Алгоритм примерно следующий: задаете двумерный символьный массив размерностью 8х8, заполняете его О. Запрашиваете ввод значений m и n, соответственно, записываете в элемент [n,m] символ Ф. Затем проверяете все возможные пути движения ферзя: по вертикали, по горизонтали и по диагонали, соответственно, записывая в элементы *.

Для коня задача малость посложнее, ибо ходит он кочергой и нужно учитывать крайнее расположение фигуры.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 28.12.2010, 12:53   #5 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Цитата:
Сообщение от Alexander Mece Посмотреть сообщение
номер 1: Для большинства существительных, оканивающихся на – анок и - енок, множественное число образуется от другой основы. Как правило, это происходит по образцу: цыпленок-цыплята, мышонок-мышата и т.д. (в новой основе перед последней буквой т пишется а или я в зависимости от предыдущей буквы: если это шипящая, то – а, иначе - )_. Имеются слова исключения, из которых укажем следующие: ребенок (дети), бесенок (бесенята) и т.д. и т.п. Дан текст, среди символов которого имеется пробел. Группа символов, предшествующая первому пробелу, представляет собой русское слово, оканчивающиеся на –онок, или –енок. Получить это слово во множественном числе.
Задача достаточно простая, основная трудность в ней в правильности определения суффикса и в наличии слов-исключений. Из-за второго условия нужно подключать внешний файл со словами-исключениями для предварительного анализа.
Запрашиваете строку, находите первое включение пробела и копируете первое слово в промежуточную переменную. Сравниваете слово с исключениями, если совпадений нет - вычисляете длину слова и анализируете последние 4 символа на совпадение с данными двумя суффиксами. Затем заменяете суффикс на соответствующее окончание и выводите содержимое промежуточной переменной.
З.Ы. Вам понадобится подключить модуль crt.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 29.12.2010, 12:21   #6 (permalink)
shrek=)
Студент БГПУ
 
Аватар для shrek=)
 
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
По умолчанию

Код:
uses crt;
var
a:array [1..8,1..8] of char;
i,j:integer;
x,y:integer;

begin
for i:=1 to 8 do begin
for j:=1 to 8 do
a[i,j]:='0';
end;
writeln ('enter koordinaty ferzya');
read (x,y);
a[x,y]:='F';
for j:=1 to 8 do
if j<>y then a[x,j]:='*';
for i:=1 to 8 do
if i<>x then a[i,y]:='*';
for i:=1 to 8 do
for j:=1 to 8 do begin
if (i<>x) and (j<>y) then begin if j=i+y-x then a[i,j]:='*';
if 8-i=j+y-x-2 then a[i,j]:='*';
end;
end;
for i:=1 to 8 do begin
for j:=1 to 8 do
write (a[i,j],' ');
writeln;
end;
readkey
end.
Программа полностью проверена для ферзя.
shrek=) вне форума   Ответить с цитированием
Старый 30.12.2010, 06:06   #7 (permalink)
shrek=)
Студент БГПУ
 
Аватар для shrek=)
 
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
По умолчанию

Программа проверена КОНЬ ходит

Код:
uses crt;
const
n=8;
var
x,y,i,j:integer;
a:array [1..n,1..n] of char;

begin
clrscr;
for x:=1 to n do
for y:=1 to n do
a[x,y]:='0';
writeln ('enter coordinate horse');
read (x,y);
a[x,y]:='K';
if (x>=3) and (x<=6) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x>=3) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=1) and (y>=3) and (y<=6) then begin
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=8) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=7) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=1) and (y=8) then begin
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=8) and (y=8) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
end;
if (x=8) and (y=7) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
end;
if (x=8) and (y=6) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=1) and (y=1) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
end;
if (x=1) and (y=2) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
end;
if (x=1) and (y=3) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=1) and (y=4) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
for x:=1 to n do begin
for y:=1 to 8 do
write (a[x,y],' ');
writeln;
end;

readkey
end.
shrek=) вне форума   Ответить с цитированием
Старый 04.01.2011, 09:03   #8 (permalink)
shrek=)
Студент БГПУ
 
Аватар для shrek=)
 
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
По умолчанию

Цитата:
Сообщение от Alexander Mece Посмотреть сообщение
Дан текст, среди символов которого имеется пробел. Группа символов, предшествующая первому пробелу, представляет собой русское слово, оканчивающиеся на –онок, или –енок. Получить это слово во множественном числе.
Код:
uses crt;
var
s,k,w,w1,rez:string;
n,i:integer;
f:text;
begin
assign (f,'c:\1.in');
n:=0;
i:=0;
rez:='';
writeln ('Enter string');
readln (s);
n:=pos(' ',s);
n:=n-1;
k:=copy(s,1,n);
reset (f);
while not eof(f) do begin
readln (f,w);
readln (f,w1);
if w=k then begin
inc(i);
rez:=w1;
end;
end;
close (f);
if i<>0 then writeln(rez) else begin
w:=copy(k,n-3,n);
if w='онок' then begin
delete(k,n-3,n);
k:=k+'ата';
writeln ('New word=',k);
end
else if (w='енок') or (w='ёнок') then begin
delete(k,n-3,n);
k:=k+'ята';
writeln ('New word=',k);
end;
end;
readln;
end.
Текстовый файл в кодировке DOS(OEM) содержит слова-исключения.
Вложения
Тип файла: zip 1.zip (137 байт, 22 просмотров)
shrek=) вне форума   Ответить с цитированием
Старый 24.03.2012, 16:34   #9 (permalink)
Бовальд
Новичок
 
Регистрация: 24.03.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile Не понял...

Вы уверены, что последний предложенный вариант верен? Пробую понять, что не так, но ошибок вроде нет... А ведь не работает прога!
Бовальд вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:41.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.