ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

15.06.2009, 11:11
|
|
Познающий
Регистрация: 09.03.2009
Сообщений: 43
Провел на форуме: 549532
Репутация:
53
|
|
кто-нибудь может максимально решить и максимально подробно обьяснить решение?
Вторая задача: Дана последовательность Mj литерных матриц 20*30. Нужно
найти число матриц Mk, что для некоторой матрицы Mi, k > i,
выполняется следующее условие: Ф(Mi) > i + 10. Где функция Ф
возвращает число упорядоченных столбцов матрицы в которых есть хотя бы
один символ цифры.
Третья задача: Дано бинарное дерево. Нужно посчитать число
четных чисел, лежащих ниже заданного уровня.
|
|
|

15.06.2009, 17:53
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Сообщение от qloo
1.Задана матриця елементіов размерностью nхn. Получить обратную матрицу.
http://slil.ru/27760115
|
|
|

15.06.2009, 23:05
|
|
Участник форума
Регистрация: 16.07.2008
Сообщений: 159
Провел на форуме: 1063538
Репутация:
240
|
|
Вот еще задачка) на Pascal'e
Пусть дан текст. Определите содержит ли он символы отличающиеся от букв и пробелов.
|
|
|

15.06.2009, 23:12
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
Пусть дан текст. Определите содержит ли он символы отличающиеся от букв и пробелов.
Код:
// a =97
// z = 122
// 0 = 48
// 9 = 57
// а = 225
// я = 255
делай цикл и проверяй ord(буква)
|
|
|

15.06.2009, 23:25
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
Код:
var s:string;
i:integer;
begin
// a =97
// z = 122
// 0 = 48
// 9 = 57
s:= 't@st';
for i:=1 to length(s) do
if (ord(s[i])>97)and(ord(s[i])<122)and
(ord(s[i])>48)and(ord(s[i])<57)then
writeln('!!!!!!!!!!!!!!!',ord(s[i])) else
writeln(s[i],' = ',ord(s[i]));
readln;
end.
|
|
|

16.06.2009, 14:28
|
|
Новичок
Регистрация: 06.12.2008
Сообщений: 1
Провел на форуме: 4842
Репутация:
0
|
|
Нужна помощь.
C++ Builder 6
Задание
Создать алгоритм и написать программу в C++ Builder 6
Которая реализует построение графиков функцый
. . .
Значение x меняется от 0 до 720 град.
Построене графиков реализавать с контекстным меню, которое реализует с использованием компонента PopupMenu.
|
|
|
[C] давно забытая графика |

17.06.2009, 04:31
|
|
Постоянный
Регистрация: 31.07.2008
Сообщений: 370
Провел на форуме: 2866942
Репутация:
350
|
|
[C] давно забытая графика
Код:
#include<stdio.h>
#include<dos.h>
#include<conio.h>
#include<stdlib.h>
#include<graphics.h>
#include<string.h>
void myprint (int X, int Y,int shadow, int color, int size, char *text);
int main()
{
int c,color,X,Y,shadow,style,size;
char *text;
char a;
int gdriver=DETECT, gmode, errorcode;
initgraph(&gdriver,&gmode, "");
errorcode=graphresult();
if(errorcode!=grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
getch();
return (0);
}
printf("Hi, enter coordinates(X,Y) where will be our text\n");
scanf("%d,%d",&X,&Y);
printf("Do you want shadow?(y/n)\n");
scanf("\n%c",&a);
if (a=='y')
c=1;
else
{
if (a=='n')
c=0;
else
{
printf("Error, as default shadow won't use\n");
c=0;
}
}
printf("Enter size(0-3)\n");
scanf("%d",&size);
printf("\nAt last enter your text\n");
scanf("%s\n",text);
color=4;
cleardevice();
myprint(X,Y,c,color,size,text);
getch();
closegraph();
return 0;
}
void myprint(int X, int Y,int shadow, int color, int size, char *text)
{
settextstyle(0,0,size);
setcolor(7);
outtextxy(X+shadow,Y-shadow,text);
setcolor(color);
outtextxy(X,Y,text);
}
народ обьясните плз почему когда ввожу переменную text то обычным нажатием ентера это не заканчиваеться а надо ввести какой нить еше символ....
и второй вопрос как сделать так что бы в переменной текст можно было ввести несколько слов и вывести их на екран все????
спасибо наперед
|
|
|

17.06.2009, 09:04
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
народ обьясните плз почему когда ввожу переменную text то обычным нажатием ентера это не заканчиваеться а надо ввести какой нить еше символ....
юзай
и второй вопрос как сделать так что бы в переменной текст можно было ввести несколько слов и вывести их на екран все????
while для myprint
|
|
|

17.06.2009, 15:04
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Сообщение от MadAbility
Нужна помощь.
C++ Builder 6
Задание
Создать алгоритм и написать программу в C++ Builder 6
Которая реализует построение графиков функцый
. . .
Значение x меняется от 0 до 720 град.
Построене графиков реализавать с контекстным меню, которое реализует с использованием компонента PopupMenu.
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit2kurs.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
A=StrToInt(Form1->Edit1->Text);
asd();
Form1->SetFocus();
}
_fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
set=1;
cx=Width*3/4;
cy=Height/4;
dec_cx=0; //Декартовая система (x)
dec_cy=0; //Декартовая система (y)
eo=20; //Еденичный отрезок
un=0; //Угол наклона
A=1;
}
int eo=20;// Задаем еденичному отрезку значение
float x_t(float t,float A) //задание графика функции по оси x
{
return A*(cos(t)+log(tan(t/2)));
}
float y_t(float t,float A) //задание графика функции по оси y
{
return A*sin(t);
}
int TForm1::dec_x_to_form_x(float x,float y)
{
float dx=x-dec_cx;
float dy=y-dec_cy;
float ro=sqrt(dx*dx+dy*dy);
float ug=atan2(dy,dx);
ug+= un*M_PI/180;
dx=ro*cos(ug);
dy=ro*sin(ug);
x=dec_cx+dx;
y=dec_cy+dy;
int form_x=cx+eo*(x-dec_cx);
return form_x;
}
int TForm1::dec_y_to_form_y(float y,float x)
{
float dx=x-dec_cx;
float dy=y-dec_cy;
float ro=sqrt(dx*dx+dy*dy);
float ug=atan2(dy,dx);
ug+= un*M_PI/180;
dx=ro*cos(ug);
dy=ro*sin(ug);
x=dec_cx+dx;
y=dec_cy+dy;
int form_y=cy-eo*(y-dec_cy);
return form_y;
}
void TForm1::asd()
{
Repaint(); //Перерисовать
Canvas->Pen->Color=clBlack; //Изменить цвет графика
Canvas->Pen->Width=2; //Изменить толщину линии
Canvas->MoveTo(Width/2,Height/4); //рисуем ось x
Canvas->LineTo(Width-10,Height/4);
Canvas->MoveTo(Width-10,Height/4); // рисуем стрелочки оси x
Canvas->LineTo(Width-15,Height/4-5);
Canvas->MoveTo(Width-10,Height/4);
Canvas->LineTo(Width-15,Height/4+5);
Canvas->MoveTo(Width*3/4,5); //рисуем ось y
Canvas->LineTo(Width*3/4,Height/2);
Canvas->MoveTo(Width*3/4,5); // рисуем стрелочки оси y
Canvas->LineTo(Width*3/4+5,10);
Canvas->MoveTo(Width*3/4,5);
Canvas->LineTo(Width*3/4-5,10);
if ((set%2)==0)
{
/* рисуем сетку*/
Canvas->Pen->Color=clBlue; //Изменить цвет графика
Canvas->Pen->Width=0.5; //Изменить толщину линии
for (float t=Width*3/4;t<=1024;t+=20) //сетка вертикальные линии
{
Canvas->MoveTo(t+20,0);
Canvas->LineTo(t+20,Height/2);
}
for (float t=Width*3/4;t>=532;t-=20)
{
Canvas->MoveTo(t-20,0);
Canvas->LineTo(t-20,Height/2);
}
for (float t=Height/4;t<=720/2;t+=20) //сетка горизонталные линии
{
Canvas->MoveTo(Width/2-10,t+20);
Canvas->LineTo(Width,t+20);
}
for (float t=Height/4;t>=0;t-=20)
{
Canvas->MoveTo(Width/2-10,t-20);
Canvas->LineTo(Width,t-20);
}
}
else
set=1;
/* рисуем график*/
Canvas->Pen->Color=clYellow; //Изменить цвет графика
Canvas->Pen->Width=4; //Изменить толщину линии
for (float t=0.01;t<=3.14;t+=0.01)
{
float x=x_t(t,A);
float y=y_t(t,A);
int fx=dec_x_to_form_x(x,y);
int fy=dec_y_to_form_y(y,x);
if (t<0.011)
Canvas->MoveTo(fx,fy);
else
Canvas->LineTo(fx,fy);
}
}
void __fastcall TForm1::Button1KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
switch (Key){
case 107: eo*=1.1; //Увеличение на 10%.
break;
case 109: eo*=0.9; //Уменьшение на 10%.
break;
case 'G' : set+=1; //Прорисовка сетки.
break;
case 'A' : dec_cy-=15.0/eo; //Сдвиг вверх на 15 пикселей.
break;
case 'Z' : dec_cy+=15.0/eo; //Сдвиг вниз на 15 пикселей.
break;
case 'O' : dec_cx+=15.0/eo; //Сдвиг влево на 15 пикселей.
break;
case 'P' : dec_cx-=15.0/eo; //Сдвиг вправо на 15 пикселей.
break;
////
|
|
|

17.06.2009, 22:16
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Сообщение от root_sashok
народ, помогите пожалуйста, нужно до пятницы. паскаль.
вот исходник, компьютер вроде всегда выигрывает....
var
x,y,n,r: integer;
c: char;
flug: boolean;
function check(x,y:integer):byte;
begin
IF ((sqr(x+3)+sqr(y)) > 144) then
begin
check:=1;
exit;
end
else
begin
IF ((sqr(x)+sqr(y+2)) > 144) then
begin
check:=2;
exit;
end
else
begin
IF ((sqr(x)+sqr(y+4)) > 144) then
begin
check:=3;
exit;
end
else
begin
check:=0;
end;
end;
end;
end;
begin
x:=3;
y:=2;
flug:=false;
Writeln('Начальные точки Х=',x,' Y=',y );
while (flug=false) do
begin
r:=check(x,y);
If r<>0 then
begin
Case r of
1:
begin
x:=x+3;
Writeln('Ход ПК X=',x,' Y=',y);
Writeln('ПК ВЫИГРАЛ!');
end;
2:
begin
y:=y+2;
Writeln('Ход ПК X=',x,' Y=',y);
Writeln('ПК ВЫИГРАЛ!');
end;
3:
begin
y:=y+4;
Writeln('Ход ПК X=',x,' Y=',y);
Writeln('ПК ВЫИГРАЛ!');
end;
end;
flug:=true;
end
else
{--------------------------------Начало--------------------------------------}
if (sqr(x+3)+sqr(y)) > (sqr(x)+sqr(y+2)) then
begin
if check(x+3,y)=0 then
begin
y:=y+2;
Writeln('Ход ПК X=',x,' Y=',y);
end
else
begin
If check(x,y+2)=0 then
begin
y:=y+4;
Writeln('Ход ПК X=',x,' Y=',y);
end
else
begin
IF check(x,y+4)=0 then
begin
x:=x+3;
Writeln('Ход ПК X=',x,' Y=',y);
end
else
begin
Writeln('ПК ПРОИГРАЛ!');
flug:=true;
end;
end;
end;
end
else
begin
if check(x+3,y)=0 then
begin
x:=x+3;
Writeln('Ход ПК X=',x,' Y=',y);
end
else
begin
If check(x,y+2)=0 then
begin
y:=y+2;
Writeln('Ход ПК X=',x,' Y=',y);
end
else
begin
IF check(x,y+4)=0 then
begin
y:=y+4;
Writeln('Ход ПК X=',x,' Y=',y);
end
else
begin
Writeln('ПК ПРОИГРАЛ!');
flug:=true;
end;
end;
end;
end;
{-----------------------------Конец------------------------------------------}
if flug<>true then
begin
repeat
Write('Ход ( 1=(x+3,y) 2=(x,y+2) 3=(x,y+4) ) ');
Readln(c);
Until ((c='1') or (c='2') or (c='3')) ;
case c of
'1':
begin;
x:=x+3;
Writeln('Ход игрока X=',x,' Y=',y);
end;
'2':
begin
y:=y+2;
Writeln('Ход игрока X=',x,' Y=',y);
end;
'3':
begin
y:=y+4;
Writeln('Ход игрока X=',x,' Y=',y);
end;
end;
end;
end;
Write('Для выхода надмите ENTER');
Readln;
end.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|