![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
3.14. Шахматная доска содержит 8x8 клеток. Горизонтали вертикали обозначаются цифрами 1-8. Написать программу, проверяющую, что заданные две клетки имеют одинаковый цвет.
5.14. Сколько имеется двузначных чисел, сумма квадратов цифр которых делится на 13? 6.13. Натуральные числа вводятся с клавиатуры до тех пор, пока не будет введено число -1. Написать программу, выводящую введенные цифры: сначала выводится наиболее часто встречающаяся цифра, в конце — наименее встречающаяся цифра. 6.15. Целые числа вводятся с клавиатуры до первого нуля или до четырех девяток подряд. Написать программу, распечатывающую введенные числа в следующем виде: вначале печатается положительное число, за ним отрицательное, затем снова положительное, за ним отрицательное и т.д. Числа, для которых не нашлось пар, в конце ввода игнорируются. 7.14. В журнале записаны оценки n студентов, сдававших m экзаменов. Если студент не сдавал экзамен, то его оценка нуль. Написать программу, указывающую студентов, получивших наибольшее количество двоек. 8.14. В английском предложении слова разделены одним пробелом. Во всех словах, следующих за артиклями а и the, первую букву заменить на прописную. Написать программу, выполняющую эту работу. 10.14. В файле 1 хранятся данные о соревнованиях по решению задач. Он содержит название команды, номер решенной задачи, время, потраченное на ее решение. Время решения задачи измеряется в минутах от начала соревнований до момента, когда жюри засчитает ее решение. Записать в файл 2 название команды, количество решенных задач, время, потраченное на решение. |
|
#2
|
||||
|
||||
|
Внесу свои 5 рублей:
Цитата:
Код:
var
x1, y1, x2, y2: byte;
cl1, cl2: boolean; // false - белая, true - чёрная.
begin
cl1 := (x1 mod 2 = 0) xor (y1 mod 2 = 0);
cl2 := (x2 mod 2 = 0) xor (y2 mod 2 = 0);
if cl1 = cl2 then
ShowMessage('Одинаковые!')
else
ShowMessage('Разные!');
end;Цитата:
Код:
var
i, count: integer;
begin
count:=0;
for i:=10 to 99 do
if (sqr((i-(i mod 10)) div 10)+sqr(i mod 10)) mod 13 = 0 then
inc(count);
ShowMessage(IntToStr(count)+' двузначных чисел делятся на 13');
end; |
|
#3
|
||||
|
||||
|
вот красиво
про доску:Код:
program Project1;
uses
SysUtils, Windows;
var
a: array [1..8,1..8] of string;
i,j,m,n,t,s: integer;
k: string;
procedure ConsoleTextColor(color: word);
begin
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color);
end;
begin
for i:=1 to 8 do
begin
if i mod 2 <> 0 then k:='white' else k:='black';
for j:=1 to 8 do
if k='white' then
begin
ConsoleTextColor($ff); write('w');
a[i,j]:='white'; k:='black'
end else begin
ConsoleTextColor($88); write('b');
a[i,j]:='black'; k:='white'
end;
writeln('');
end;
ConsoleTextColor($0B); writeln('');
writeln('pervaya kletka');
write(' nomer stroki: '); readln(m);
write(' nomer stolbca: '); readln(n);
writeln('vtoraya kletka');
write(' nomer stroki: '); readln(t);
write(' nomer stolbca: '); readln(s);
ConsoleTextColor($0A); writeln('');
if a[m,n]=a[t,s] then
writeln('kletki odnogo cveta')
else writeln('kletki raznogo cveta');
readln;
end.![]() Последний раз редактировалось SerginhoLD, 21.06.2010 в 19:51. |
|
#4
|
|||
|
|||
|
Спасибо, за решение а др никто незнает как сделать ?
|
|
#5
|
||||
|
||||
|
Знаем... только не говорим. А что сложного? Любой алгоритм, который можно записать на бумаге, можно решить на Делфи. Просто рисуешь блок-схему, и составляешь по ней код. А некоторые можно вообще без схем написать...
|
|
#6
|
|||
|
|||
|
Знаем-знаем... но просто так делать лень.
Вот если ты сделаешь, то тебе помогут найти и устранить ошибки. 6.13 Код:
type
TNmb = record
Value : Integer;
Count : Integer;
end;
var
A : Array Of TNmb;
N, I, J : Integer;
F : Boolean;
AA : TNmb;
begin
// Ввод чисел с подсчетом кол-ва
SetLength(A,0);
N := 0;
WriteLn('Введите числа, окончание ввода -1');
While N <> -1 Do
Begin
Write('Введите число:');
ReadLn(N);
F := False;
For I := Low(A) To High(A) Do
If A[i].Value = N Then
Begin
Inc(A[i].Count);
F := True;
End;
If Not F Then
Begin
SetLength(A,Length(A)+1);
A[High(A)].Value := N;
A[High(A)].Count := 1;
End
End;
// Сортировка по убыванию
For I := Low(A) To High(A)-1 Do
For J := I+1 To High(A) Do
If A[i].Count < A[J].Count Then
Begin
AA := A[i];
A[i] := A[J];
A[J] := AA;
End;
// Вывод результата
WriteLn('Числа по убыванию кол-ва:'
For I := Low(A) To High(A) Do
WriteLn(Format('Число %d встречяается %d раз',[A[i].Value,A[i].Count]));
end; |
|
#7
|
|||
|
|||
|
Понятно спс
|