Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2009, 17:31   #1
DimoniusX
Пользователь
 
Регистрация: 06.01.2009
Сообщений: 13
По умолчанию Помогите решить задачу ,пожалуйста

В одномерном массиве , состоящем из n вещественных элементов вычислить:
-максимальный элемент массива
-сумму элементов массива , расположенных до последнего положительного элемента
DimoniusX вне форума Ответить с цитированием
Старый 12.01.2009, 17:52   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 1

Код:
const n=20;
var a:array[1..n] of real;
    i,max:byte;
    
begin
randomize;
for i:=1 to n do
 a[i]:=random(10000)/(random(10)+1);
 max:=1;
 for i:=2 to n do
  if a[max]<a[i] then max:=i;
writeln('Max:',a[i],' index:',max)
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 12.01.2009, 17:53   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот. Последний положительный элемент к сумме не прибавляется.

Код:
uses crt;
var
a : array[1..100] of real;
n,i : integer;
max,sum : real;
fl : boolean;
begin
clrscr;
write('Enter n: ');
readln(n);
{--}
randomize;
for i:=1 to n do
 begin
 a[i]:= random(30)/3-5;
 write(a[i]:7:3);
 end;
writeln;
writeln('-------');
{--------}
max := a[n];
sum := 0;
fl := false;
for i:=n downto 1 do
  begin
  if a[i]>max then max := a[i];
  if  fl then sum := sum + a[i]
   else if a[i]>0 then fl := true;
  end;
writeln('Max= ',max:7:3);
writeln('Sum= ',sum:7:3);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 12.01.2009, 17:55   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 2

Код:
const n=20;
var a:array[1..n] of real;
    i,lim:byte;
    sum:real;
    
begin
randomize;
for i:=1 to n do
begin
 a[i]:=random(100)-random(100);
 write(a[i],' ');
end;
 lim:=0;
 for i:=2 to n do
  if a[i]>0 then lim:=i;
 sum:=0;
 for i:=1 to lim do
  sum:=sum+a[i];
 writeln;
writeln('Summa 1 to ',lim,' ',sum);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 12.01.2009, 18:07   #5
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию

alex ne mog bi pomoch s zadachami
n1ce > Kuzia вне форума Ответить с цитированием
Старый 12.01.2009, 18:12   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
Восклицание

C чем не мог бы помочь?
Создавайте свою тему и задавайте вопросы, а не флудите во всех разделах - нарветесь на бан.

P.S. Читайте правила на форуме
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 12.01.2009, 18:18   #7
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию

ai sozdal temu vot silka na zadachu pomogi pozaluista
http://programmersforum.ru/showthread.php?t=35612
n1ce > Kuzia вне форума Ответить с цитированием
Старый 12.01.2009, 18:37   #8
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Поиск по форуму используйте. Что-то есть тут

Переделанное
Код:
program Integrirovanie;
uses crt;
const n=20;
var   s1,a,b:real;
function f(x:real):real;
begin
f:=ln(sqr(x+1))/(sqrt(3*x-1)); {функция которую интегрируем}
end;
function integ1(a,b:real;n:longint):real;
var s,h:real; p,j:longint;
begin {интегрирование по методу Симпсона}
h:=(b-a)/n;
s:=0;
p:=4;
for j:=1 to n-1 do
begin
s:=s+p*f(a+h*j);
p:=6-p;
end;
integ1:=h/3*(f(a)+f(b)+s);
end;

BEGIN
clrscr;
write('введите a: a=');
readln(a);
write('введите b: b=');
readln(b);
s1:=integ1(a,b,n);
writeln('интегрирование по методу Симпсона');
writeln('I=',s1:0:5);
readln;
END.
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 12.01.2009 в 18:39.
alex_fcsm вне форума Ответить с цитированием
Старый 12.01.2009, 18:44   #9
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию

spasibo bol6shoe viruchil
n1ce > Kuzia вне форума Ответить с цитированием
Старый 12.01.2009, 18:46   #10
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию

a chto za metod simpsona
n1ce > Kuzia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста решить задачу Sabber Паскаль, Turbo Pascal, PascalABC.NET 5 17.11.2008 15:55
Помогите решить задачу, пожалуйста! Elizaveta Паскаль, Turbo Pascal, PascalABC.NET 1 10.11.2008 02:29
Помогите решить задачу пожалуйста Никитка89 Паскаль, Turbo Pascal, PascalABC.NET 3 29.05.2008 08:35