Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите студенту в сложной ситуации (http://www.tehnari.ru/f41/t31948/)

Justinn 12.01.2010 16:55

Помогите студенту в сложной ситуации
 
Помогите пожалуйста у меня пять задач((по турбо поскалю) у меня сейчас практика :eek: ((я бы рад решить сам но нечего в нём не соображаю ну только стандартные функции :o ((я пытался добиться от нашего учителя хоть штони будь но он полный дебил говорит что в школе мы должны были пройти это(("чево в помине и не было" :mad: я очень вас прошу помогите решить задачи.Зарание спс.Как говориться я в ваших руках)))ну или точнее в пальцах :D

1
Вводятся длины двух сторон треугольника А и Б, и угол между ними в градусах. Определить длину третьей стороны С при помощи формулы теоремы косинусов.

2
Вводятся радиусы оснований и высоты для двух циллиндров. Определить, какой из циллиндров выше, а какой - шире в основании. Ответ вывести в формате "A выше B", "B выше А", "A и B равны в высоте (или ширине основания)"

3
Подсчитывать сумму случайных чисел, пока количество отрицательных, попавшихся среди них, не превысит N

4
Подсчитать сумму элементов квадратной матрицы N на N. Если сумма отрицательная, то заменить нулями главyю диагональ матрицы. Если положительная - то дополнительную. Если сумма = 0, то сообщить об этом и ничего в матрице не менять

5
Вводится предложение. Подсчитать, сколько слов в нем следует через запятую.

Vladimir_S 12.01.2010 17:32

Цитата:

1
Вводятся длины двух сторон треугольника А и Б, и угол между ними в градусах. Определить длину третьей стороны С при помощи формулы теоремы косинусов.
Код:

VAR
 a,b,alpha:REAL;
BEGIN
 Write('a= ');
 ReadLn(a);
 Write('b= ');
 ReadLn(b);
 Write('alpha= ');
 ReadLn(alpha);
 WriteLn('c= ',SQRT(SQR(a)+SQR(b)-2.0*a*b*Cos(alpha/180*Pi)));
 ReadLn;
END.

Цитата:

2
Вводятся радиусы оснований и высоты для двух циллиндров. Определить, какой из циллиндров выше, а какой - шире в основании. Ответ вывести в формате "A выше B", "B выше А", "A и B равны в высоте (или ширине основания)"
Код:

VAR
 r1,r2,h1,h2:REAL;
BEGIN
 Write('r1= ');
 ReadLn(r1);
 Write('h1= ');
 ReadLn(h1);
 Write('r2= ');
 ReadLn(r2);
 Write('h2= ');
 ReadLn(h2);
 If h1>h2 then
  writeln('Cylinder1 is higher then cylinder2') else
 If h2>h1 then
  writeln('Cylinder2 is higher then cylinder1') else
  writeln('The hights of cylinder1 and cylinder2 are equal');
 If r1>r2 then
  writeln('Cylinder1 is wider then cylinder2') else
 If r2>r1 then
  writeln('Cylinder2 is wider then cylinder1') else
  writeln('The widths of cylinder1 and cylinder2 are equal');
 ReadLn;
END.

Остальные - попозже.

Justinn 12.01.2010 17:38

ваще спс тибе!!!!!да ты даже не предстовляешь какое тебе спасибо даже за две задачки:D

DDS 12.01.2010 17:43

Задача 2
Код:

Var
  r1,r2,h1,h2:byte;
 Begin
  Writeln('r1 h1');
  Read(r1,h1);
  Writeln('r2 h2');
  Read(r2,h2);
  If r1=r2 then writeln('А и В равны по ширине основания');
  If r1>r2 then writeln('А шире В') else writeln('В шире А');
  If h1=h2 then writeln('А и В равны по высоте');
  If h1>h2 then writeln('А выше В') else writeln('В выше А');
  Readln;
 End.

Эх, пока приводил программу в нормальный вид Vladimir_S уже выложил 2 задачу.

Justinn 12.01.2010 17:49

Спс и тебе DDS я очень циню вашу помощь:)Владимир буду ждать и надеется:rolleyes:спасибо кароче всем кто откликнулся))вы ребят прямо людей делаете счастливыми))

DDS 12.01.2010 17:56

Задача 3
Код:

Var a,b,n,s,k:integer;
Begin
  Randomize;
  Read(n);
  k:=0;
  Repeat
  a:=random(100)-50;
  b:=random(100)-50;
  If (a<0) or (b<0) then k:=k+1;
  s:=a+b;
  Writeln(a:5,b:5,s:5);
  s:=0;
  Until k>=n;
End.


Justinn 12.01.2010 18:05

спс DDS))

DDS 12.01.2010 18:33

Задача 4
Код:

Const n=5;
Var i,j,k:byte;a:array[1..n,1..n]of integer;s:integer;
Begin
  Randomize;
  s:=0;
  For i:=1 to n do
  For j:=1 to n do
  a[i,j]:=random(100)-50;
  For i:=1 to n do
  begin
  For j:=1 to n do
  write(a[i,j]:5);
  writeln;
  end;
  writeln;
  For i:=1 to n do
  For j:=1 to n do
  s:=s+a[i,j];
  k:=n+1;
  If s<0 then
            for i:=1 to n do
            a[i,i]:=0;
  If s>0 then
            for i:=1 to n do
            for j:=1 to n do
            begin
            k:=k-1;
            a[k,j]:=0;
            end;
  If s=0 then writeln('summa=0');
  For i:=1 to n do
  begin
  For j:=1 to n do
  write(a[i,j]:5);
  writeln;
  end;
End.

Возможно я не лучшим образом реализовал заполнение дополнительной диагонали, но ничего лучше не придумал.

DDS 12.01.2010 18:47

Задача 5
Код:

Var
        i,k:byte;
        s:char;
        text:string;
 Begin
  S:=',';
  Readln(text);
  Writeln(text);
  k:=0;
  For i:=1 to length(text) do
  If text[i]=s then k:=k+1;
  If k<>0 then
  K:=k+1;
  Writeln(k);
 End.


Justinn 12.01.2010 18:51

Спасибо тебе DDS!!!!.Помог так что не забуду.


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.