1) зачем тебе передавать в функцию флоат, а потом это кастовать к даблу, когда можно сразу передавать дабл
2) на кой тебе setlocale в этой задаче
3) почему ты пытаешься считать из консоли 7 аргументов, когда в задаче дается лишь 4
4) много лишних переменных, да еще и разных типов, которые ты пытаешься использовать в одних выражениях
5) Ты вообще понимаешь почему в этой задаче требуется прописать функцию для нахождения площади треугольника? Если да, то почему ты каждый раз вызываешь функцию подсчета площади от одних и тех же трех отрезков, да еще и не образующих треугольник...
Const n=20; type omas=array[1..n] of integer; Procedure Del (var z:omas; k:byte); var i:byte; begin for i:=k to n-1 do z[i]:=z[i+1]; z[n]:=0; end; var a:omas; i,b:integer; begin Randomize; for i:=1 to n do begin a[i]:=random(20); write(a[i]:4); end; writeln; b:=6; i:=1; while (i<=n)and(a[i]<>b) do i:=i+1; if i<=n then begin Del(a,i); writeln('Размерность массива = ',n-1); for i:=1 to n-1 do write(a[i]:4); writeln; end else writeln('Массив не изменился'); end. Пример: 12 13 6 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18 Размерность массива = 19 12 13 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
1) зачем тебе передавать в функцию флоат, а потом это кастовать к даблу, когда можно сразу передавать дабл
2) на кой тебе setlocale в этой задаче
3) почему ты пытаешься считать из консоли 7 аргументов, когда в задаче дается лишь 4
4) много лишних переменных, да еще и разных типов, которые ты пытаешься использовать в одних выражениях
5) Ты вообще понимаешь почему в этой задаче требуется прописать функцию для нахождения площади треугольника? Если да, то почему ты каждый раз вызываешь функцию подсчета площади от одних и тех же трех отрезков, да еще и не образующих треугольник...
#include <iostream>
#include <cmath>
using namespace std;
double heron(double a_, double b_, double c_){
double p = (a_ + b_ + c_) / 2;
return sqrt(p * (p - a_) * (p - b_) * (p - c_));
}
void solve() {
double a, b, c, d;
cout << "a =\n";
cin >> a;
cout << "b =\n";
cin >> b;
cout << "c =\n";
cin >> c;
cout << "d =\n";
cin >> d;
cout << "S = " << heron(a, 1, 2) + heron(b, 2, 2.5) + heron(c, d, 2.5);
}
int main(){
solve();
}
type omas=array[1..n] of integer;
Procedure Del (var z:omas; k:byte);
var i:byte;
begin
for i:=k to n-1 do z[i]:=z[i+1];
z[n]:=0;
end;
var a:omas; i,b:integer;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i]:4);
end;
writeln;
b:=6;
i:=1;
while (i<=n)and(a[i]<>b) do i:=i+1;
if i<=n then
begin
Del(a,i);
writeln('Размерность массива = ',n-1);
for i:=1 to n-1 do write(a[i]:4);
writeln;
end else writeln('Массив не изменился');
end.
Пример:
12 13 6 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
Размерность массива = 19
12 13 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18