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

25.03.2008, 04:20
|
|
Новичок
Регистрация: 19.01.2008
Сообщений: 20
Провел на форуме: 44843
Репутация:
0
|
|
1. Уберите лишние скобки у данного арифметического выражения: (х-у)+23*(у/20)+((х\2^3)) Mod 2)
а затем напишите программу,которая по введённым значениям x и у типа Integer,вычисляла бы данное арифметическое выражение.
2. Даны декартовы координаты вершин треугольника (в плоскости).Напишите программу,вычисляющую площадь и периметр этого треугольника.
Заранее премного благодарен
|
|
|

25.03.2008, 11:07
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
JayKa тебе на каком языке надо?
насчёт второй задачи... напиши формулу вычисления площади и петиметра по координатам
|
|
|

25.03.2008, 13:32
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
dos999
гыг, кто-то в школе плохо учился, не знает, что периметр - сумма длин всех сторон n-угольника 
А по теме.
Pascal
Код:
program triangle;
type
TPoint = record
x, y : real;
end;
function getlength (a, b : TPoint) : real;
begin
getlength := sqrt (sqr (b.x - a.x) + sqr (b.y - a.y));
end;
function getperimeter (a, b, c : real) : real;
begin
getperimeter := a + b + c;
end;
function getsquare (a, b, c, p : real) : real;
begin
getsquare := sqrt (p * (p - a) * (p - b) * (p - c));
end;
var
coords : array [1..3] of TPoint;
len : array [1..3] of real;
perim, square : real;
i : byte;
begin
coords[1].x := 1;
coords[1].y := 1;
coords[2].x := 2;
coords[2].y := 2;
coords[3].x := -2;
coords[3].y := 2;
len[1] := getlength (coords[1], coords[2]);
len[2] := getlength (coords[2], coords[3]);
len[3] := getlength (coords[1], coords[3]);
perim := getperimeter (len[1], len[2], len[3]);
square := getsquare (len[1], len[2], len[3], perim / 2);
writeln (perim : 0 : 3);
writeln (square : 0 : 3);
end.
C
Код:
#include <stdio.h>
#include <math.h>
struct TPoint
{
float x, y;
};
float getlength (TPoint a, TPoint b)
{
return sqrt ((b.x - a.x) * (b.x - a.x) + (b.y - a.y) * (b.y - a.y));
}
float getperimeter (float a, float b, float c)
{
return (a + b + c);
}
float getsquare (float a, float b, float c, float p)
{
return sqrt (p * (p - a) * (p - b) * (p - c));
}
int main ()
{
TPoint coords [3];
float len [3], perim, square;
unsigned char i;
coords[0].x = 1;
coords[0].y = 1;
coords[1].x = 2;
coords[1].y = 2;
coords[2].x = -2;
coords[2].y = 2;
len[0] = getlength (coords[0], coords[1]);
len[1] = getlength (coords[1], coords[2]);
len[2] = getlength (coords[2], coords[0]);
perim = getperimeter (len[0], len[1], len[2]);
square = getsquare (len[0], len[1], len[2], perim / 2);
printf ("Perimeter: %.3f\nSquare: %.3f\n", perim, square);
return 0;
}
Последний раз редактировалось krypt3r; 25.03.2008 в 14:10..
|
|
|

26.03.2008, 21:24
|
|
Познающий
Регистрация: 20.01.2008
Сообщений: 65
Провел на форуме: 664107
Репутация:
25
|
|
очень нужна программа умножения двух квадратных матриц на с++
|
|
|

26.03.2008, 21:31
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
_http://alglib.sources.ru/matrixops/mul.php
_http://www.ssga.ru/AllMetodMaterial/metod_mat_for_ioot/metodichki/djukov/matriza.htm
_http://www.pm298.ru/matr3.shtml
А вообще существует google!
Последний раз редактировалось De-visible; 26.03.2008 в 21:40..
|
|
|

27.03.2008, 22:18
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме: 64407
Репутация:
2
|
|
Друзья, помогите плз :
с++
Разработать программу, выполняющую операции со структурами данных, реализованными в виде связанных списков. Алгоритмы выполнения каждой операции оформить в виде функции. Программа должна содержать меню, позволяющее протестировать все операции с динамической структурой
Элементы данных:
Авторы – 20 символов, название - 20 символов, год издания – целое число
Структуры данных:
Дек с ограниченным входом
Добавление элемента слева, проверка дека на отсутствие в нем элементов, удаление элемента справа, удаление элемента слева, получение значения левого элемента, удаление всех элементов, сравнение двух деков, вывод дека
Реализовать ввиде Связанного двунаправленного линейного списка
я часть написал но не уверен(((
Код:
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
string rus(char s[ ]);
struct book
{ char avtor[20];
char name[20];
int year;
};
struct element
{ book info;
element *next;
element *prev;
};
void add_l(element *&list,element *&list2); // 1
bool empty(element *&list); // 2
void del_r(element *&list,element *&list2); // 3
void del_l(element *&list,element *&list2); // 4
void output_l(element *&list,element *&list2); // 5
void del(element *&list,element *&list2); // 6
bool compayer(element *&list,element *&list2); // 7
void output(element *list); // 8
void menu();
int main()
{ int i;
element *in=NULL;
element *inout=NULL;
while(true)
{ menu();
cin>>i;
clrscr();
switch(i)
{
case 1: add_l(in,inout); break;
case 2: empty(in); break;
case 3: del_r(inout,in); break;
case 4: del_l(in,inout); break;
case 5: output_l(in,inout); break;
case 6: del(in,inout); break;
case 7: compayer(in,inout); break;
case 8: output(inout); break;
default: cout<<rus("\nневерный номер.\n");
case 0: return 0;
}
}
}
void add_l(element *&list,element *&list2)
{
element *t;
t=new element;
cout<<rus("введите автора: ")<<endl;
cin.get();
cin.getline(t->info.avtor,20);
cout<<rus("введите название: ")<<endl;
cin.getline(t->info.name,20);
cout<<rus("веедите год: ")<<endl;
cin>>t->info.year;
if(list==NULL)
{
list2=list=t;
t->next=0;
t->prev=0;
}
else
{
list->prev=t;
t->prev=0;
t->next=list;
list=t;
}
}
bool empty(element *&list)
{
if(list==0)
{cout<<rus("дук пуст.");
return true;}
{return false;}
}
void del_r(element *&list2,element *&list)
{
element *p;
if(!empty(list))
if(list==list2)
{
p=list2;
list=list2=0;
delete p;
}
else
{
p=list2;
list2=list2->prev;
list2->next=0;
delete p;
}
}
void del_l(element *&list2,element *&list)
{}
void output_l(element *&list,element *&list2)
{
if(!empty(list))
{
cout<<rus("автор: ")<<list->info.avtor<<endl;
cout<<rus("название: ")<<list->info.name<<endl;
cout<<rus("год: ")<<list->info.year<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"--------------------OK-----------------------";
}
}
void del(element *&list2,element *&list)
{
while(!empty(list))
del_r(list2,list);
del_l(list2,list);
}
bool compayer(element *&list,element *&list2)
{}
void output(element *list)
{
if(!empty(list))
{
element *t;
t=list;
while(t!=0)
{
cout<<rus("Автор: ")<<t->info.avtor<<endl;
cout<<rus("название: ")<<t->info.name<<endl;
cout<<rus("год: ")<<t->info.year<<endl;
cout<<"*********************************************"<<endl;
t=t->next;
}
cout<<"---------------------------------------------"<<endl;
cout<<"--------------------OK-----------------------";
}
}
void menu()
{
cout<<rus("\n Выберите:\n");
cout<<rus("\n1. Добавление элемента слева.");
cout<<rus("\n2. проверка дека на отсутствие в нем элементов");
cout<<rus("\n3. удаление элемента справа.");
cout<<rus("\n4. удаление элемента слева.");
cout<<rus("\n5. получение значения левого элемента.");
cout<<rus("\n6. удаление всех элементов.");
cout<<rus("\n7. сравнение двух деков.");
cout<<rus("\n8. вывод дека.");
cout<<rus("\n0. завершение проги.");
cout<<rus("\n\n выберите:");
}
string rus(char s[ ]) // Перевод кодировки из Windows в Dos
{
string t;
int i=0;
t=s;
while (t[i]!=0)
{
if(t[i]>='A'&& t[i]<='п' )
t[i]-=64;
if(t[i]>='p'&& t[i]<='я' )
t[i]-=16;
i++;
}
return t;
}
Последний раз редактировалось }I{ek; 27.03.2008 в 23:18..
|
|
|

28.03.2008, 00:33
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
????Всмысле упадет?
|
|
|

28.03.2008, 00:57
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
|
|
|

28.03.2008, 11:13
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
_http://www.cyberguru.ru/programming/delphi/delphi-components-part1-page11.html
_http://www.delphisources.ru/pages/faq/base/kol_date_time_functions.html
_http://wm-help.net/books-online/book/1492/1492-10.html
Ну это так дополнение 
|
|
|

28.03.2008, 23:12
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме: 64407
Репутация:
2
|
|
Прошу, коментируем
Код:
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
string rus(char s[ ]);
struct book
{ char avtor[20];
char name[20];
int year;
};
struct element
{ book info;
element *next;
element *prev;
};
void add_l(element *&list,element *&list2); // 1
bool empty(element *&list); // 2
void del_r(element *&list2,element *&list); // 3
void del_l(element *&list,element *&list2); // 4
void output_l(element *&list,element *&list2); // 5
void del(element *&list,element *&list2); // 6
void output(element *list); // 7
void menu();
int main()
{ int i;
element *in=NULL;
element *inout=NULL;
while(true)
{ menu();
cin>>i;
clrscr();
switch(i)
{
case 1: add_l(in,inout); break;
case 2: empty(in); break;
case 3: del_r(inout,in); break;
case 4: del_l(in,inout); break;
case 5: output_l(in,inout); break;
case 6: del(inout,in); break;
case 7: output(in); break;
default: cout<<rus("\nневерный номер.\n");
case 0: return 0;
}
}
}
void add_l(element *&list,element *&list2)
{
element *t;
t=new element;
cout<<rus("введите автора: ")<<endl;
cin.get();
cin.getline(t->info.avtor,20);
cout<<rus("введите название: ")<<endl;
cin.getline(t->info.name,20);
cout<<rus("веедите год: ")<<endl;
cin>>t->info.year;
if(list==NULL)
{
list2=list=t;
t->next=0;
t->prev=0;
}
else
{
list->prev=t;
t->prev=0;
t->next=list;
list=t;
}
}
bool empty(element *&list)
{
if(list==0)
{cout<<rus("дек пуст.");
return true;}
else
{return false;}
}
void del_r(element *&list2,element *&list)
{
element *p;
if(!empty(list))
if(list==list2)
{
p=list2;
list=list2=0;
delete p;
}
else
{
p=list2;
list2=list2->prev;
list2->next=0;
delete p;
}
}
void del_l(element *&list,element *&list2)
{
element *p;
if(!empty(list))
if(list==list2)
{
p=list;
list=list2=0;
delete p;
}
else
{
p=list;
list=list->next;
list->prev=0;
delete p;
}
}
void output_l(element *&list,element *&list2)
{
if(!empty(list))
{
cout<<rus("автор: ")<<list->info.avtor<<endl;
cout<<rus("название: ")<<list->info.name<<endl;
cout<<rus("год: ")<<list->info.year<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"--------------------OK-----------------------";
}
}
void del(element *&list2,element *&list)
{
while(!empty(list))
del_r(list2,list);
}
void output(element *list)
{
if(!empty(list))
{
element *t;
t=list;
while(t!=0)
{
cout<<rus("Автор: ")<<t->info.avtor<<endl;
cout<<rus("Название: ")<<t->info.name<<endl;
cout<<rus("Год издания: ")<<t->info.year<<endl;
cout<<"*********************************************"<<endl;
t=t->next;
}
}
}
void menu()
{
cout<<rus("\n Выберите:\n");
cout<<rus("\n1. Добавление элемента слева.");
cout<<rus("\n2. проверка дека на отсутствие в нем элементов");
cout<<rus("\n3. удаление элемента справа.");
cout<<rus("\n4. удаление элемента слева.");
cout<<rus("\n5. получение значения левого элемента.");
cout<<rus("\n6. удаление всех элементов.");
cout<<rus("\n7. вывод дека.");
cout<<rus("\n0. завершение проги.");
cout<<rus("\n\n выберите:");
}
string rus(char s[ ]) // Перевод кодировки из Windows в Dos
{
string t;
int i=0;
t=s;
while (t[i]!=0)
{
if (t[i]>='А' && t[i]<='п')
t[i]-=64;
if (t[i]>='р' && t[i]<='я')
t[i]-=16;
i++;
}
return t;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|