Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Задачи на ветвление (https://forum.antichat.xyz/showthread.php?t=205177)

АлексDevil 19.05.2010 16:29

Задачи на ветвление
 
помогите, пожалуйста, на Си сделать задачи

Цитата:

Если сумма трех попарно различных действительных чисел X, Y, Z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других; в противном случае заменить меньшее из X, У полусуммой двух оставшихся значений.
Цитата:

По координатам вершин четырехугольника определить, выпуклый он или нет.
Цитата:

Перераспределить значения переменных х и у так, чтобы в х оказалось большее из этих значений, а в у — меньшее.
вам, программистам, не сложно, а для меня, школьника, это долгая работа.

АлексDevil 19.05.2010 17:51

решаю вторую задачу.

Код:

void main ()
{
float x,y;
printf("\n введите значение X");
scanf("%d",x);
printf("\n введите значение Y");
scanf("%d",y);
тут надо ввести формулу, которая будет определять, выпуклый или нет
if бла бла esle тоже не знаю что писать
}

подскажите ПЛЗ
формулу лучше ввести в строчку с if

GrimmJow 19.05.2010 18:36

Цитата:

Перераспределить значения переменных х и у так, чтобы в х оказалось большее из этих значений, а в у — меньшее.
Код:

cout "Введите Х\n";
cin >> x;
cout "Введите Y\n";
cin >> y;

if x<y
{int z = x;
x = y;
y = z;}


m0Hze 19.05.2010 18:54

Цитата:

Сообщение от GrimmJow
echo "Введите Х\n";
sin >> x;
echo "Введите Y\n";
sin >> y;

if x<y
{int z = x;
x = y;
y = z;}

p.s. синтаксис помню оч плохо, sin и echo может по-другому пишется хз

Это что за язык? Суахали?

Scripter 19.05.2010 19:02

Суахали - комбинация языков африканских племен :D:D:D:D

yaneblinchik 19.05.2010 19:40

Цитата:

cout "Введите Х\n";
cin >> x;
cout "Введите Y\n";
cin >> y;

if x<y
{int z = x;
x = y;
y = z;}
С оператором вывода чуть намудили
Думаю ТС сам справится,исправит их. Ведь ему если я не ошибаюсь нужно на чистом С,а здесь уже C++

АлексDevil 19.05.2010 20:39

то что вы дали не компилируется в VS 2008
нужно делать с функциями printf и scanf
кто может дописать мой #2 пост?
язык C++

yaneblinchik 19.05.2010 20:58

Цитата:

на Си сделать задачи
Цитата:

void main ()
{
float x,y;
printf("\n введите значение X");
scanf("%d",x);
printf("\n введите значение Y");
scanf("%d",y);
тут надо ввести формулу, которая будет определять, выпуклый или нет
if бла бла esle тоже не знаю что писать
}
Вот ты и делаешь задачи на C

Цитата:

Сообщение от АлексDevil
то что вы дали не компилируется в VS 2008
нужно делать с функциями printf и scanf
кто может дописать мой #2 пост?
язык C++

Оно и не будет компилится,так как код не дописан


функции printf , scanf используется в языке C
а в C++ это cout

Тебе рано еще кодить

АлексDevil 19.05.2010 21:02

ну кодить может еще и рано (и я не особо хочу этим заниматься) но то что я выложил, это домашняя работа по информатике
и тоже самое будет на контрольной в пятницу =(

GrimmJow 19.05.2010 21:54

Цитата:

Четырехугольник называется выпуклым, если он расположен в одной полуплоскости относительно прямой, содержащей любую его сторону.


Код:

void main ()
{
float x1,y1,x2,y2,x3,y3,x4,y4;
cout << "\n введите значение X1";
cin >> x1;
cout << "\n введите значение Y1";
cin >> y1;
cout << "\n";

cout << "\n введите значение X2";
cin >> x2;
cout << "\n введите значение Y2";
cin >> y2;
cout << "\n";
cout << "\n введите значение X3";
cin >> x3;
cout << "\n введите значение Y3";
cin >> y3;
cout << "\n";
cout << "\n введите значение X4";
cin >> x4;
cout << "\n введите значение Y4";
cin >> 4;
cout << "\n";


//если угол >180, знач НЕвыпуклый. Угол определить сможешь?

return 0
}




Есть такое на паскале решенное. Посмотри, может по аналогии сделаешь :D

Код:

uses crt;

function angle(x1,y1,x2,y2:integer):real;
var
  dx,dy:integer;
  r:real;
begin
  dx:=x2-x1;
  dy:=y2-y1;
  r:=sqrt(dx*dx+dy*dy);
  if dy>=0 then
  begin
    if dx=0 then angle:=pi/2;
    if dx>0 then angle:=abs(arctan(dy/dx));
    if dx<0 then angle:=pi-abs(arctan(dy/dx));
  end;
  if dy<0 then
  begin
    if dx=0 then angle:=3*pi/2;
    if dx>0 then angle:=2*pi-abs(arctan(dy/dx));
    if dx<0 then angle:=pi+abs(arctan(dy/dx));
  end;
end;

var
  i,i1,k:integer;
  a1,a2:real;
  key:boolean;
begin
  clrscr;

  write('kol='); readln(k);
  for i:=1 to k do
  begin
    write('Введите координаты x и y vershiny v[',i,']:');
    readln(v[i,1],v[i,2]);
  end;
  key:=true;
  for i:=2 to k do
  begin
    if i=k then i1:=1 else i1:=i+1;
    a1:=angle(v[i-1,1],v[i-1,2],v[i,1],v[i,2]);
    a2:=angle(v[i,1],v[i,2],v[i1,1],v[i1,2]);
    if (((a2-a1)<0)and((a2-a1)>-pi)) or ((a2-a1)>pi) then
    begin
      key:=false;
      break;
    end;
  end;
  a1:=angle(v[k,1],v[k,2],v[1,1],v[1,2]);
  a2:=angle(v[1,1],v[1,2],v[2,1],v[2,2]);
  if (((a2-a1)<0)and((a2-a1)>-pi)) or ((a2-a1)>pi) then key:=false;
  if key=true then writeln('Выпуклый') else writeln('Вогнутый');
  readkey;
end.



Время: 06:44