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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 20:07   #1
#SAM#
 
Регистрация: 17.12.2009
Сообщений: 9
По умолчанию Помогите решить задачу с однородными массивами

Привет всем! У меня проблема. Не могу решить эту задачу:

В массиве из 10 целых чисел найти количество элементов, стоящих между максимальным и минимальным элементами.

Если можно, напишите мне пожалуйста решение в Delphi 7.

Заранее спасибо
#SAM# вне форума Ответить с цитированием
Старый 17.12.2009, 20:18   #2
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Вот программа, но подход к ней нерациональный))) ибо по другому не знаю как)))) Всё работает



program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;


const n=10;
var m:array[1..n] of integer;
i, maxindex, minindex, kolvo:integer;
max, min:real;

begin

Writeln('Vvedi massiv');
for i:=1 to n do readln(M[i]);
max := M[1];
maxindex := 1;
for i:=2 to n do
if max < M[i] then begin
max := M[i];
maxindex := i;
end;
for i:=2 to n do
if min > M[i] then begin
min := M[i];
minindex := i;
end;
for i:=1 to n do
kolvo:=abs(maxindex-minindex)-1;


writeln(kolvo);
readln;
readln
end.
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 17.12.2009 в 21:21.
MyLastHit вне форума Ответить с цитированием
Старый 17.12.2009, 20:23   #3
#SAM#
 
Регистрация: 17.12.2009
Сообщений: 9
По умолчанию

Спасибо. Если не сложно, можешь еще одну глянуть? из той-же темы:

Для вектора a размерностью n=10 и произвольного числа x вычислить число y по формуле.
Изображения
Тип файла: jpg 123123123.jpg (5.0 Кб, 38 просмотров)
#SAM# вне форума Ответить с цитированием
Старый 17.12.2009, 20:33   #4
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

помоему здесь так, но я могу ошибаться
for i:=1 to 10 do
S:=A[i]*exp(i*ln(x));
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 17.12.2009, 20:38   #5
#SAM#
 
Регистрация: 17.12.2009
Сообщений: 9
По умолчанию

А можешь полное решение выложить, как прошлую задачу?
#SAM# вне форума Ответить с цитированием
Старый 17.12.2009, 20:45   #6
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

полностью это каж вот в таком виде должно быть:
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a:array[1..10] of integer;

x,s:real;
i:integer;
begin

writeln('Vvedi X');
read(x);
writeln('Vvedi chisla A');
for i:=1 to 10 do readln(a[i]);
begin
S := 0;
for I := 1 to 10 do
S := S + A[i] * Exp(I * Ln(X));
end;
writeln('S=',S:2:4);
readln;
readln
end.
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 17.12.2009 в 20:56.
MyLastHit вне форума Ответить с цитированием
Старый 17.12.2009, 20:51   #7
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
полностью это каж вот в таком виде должно быть:
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a:array[1..10] of integer;

x,s:real;
i:integer;
begin

writeln('Vvedi X');
read(x);
writeln('Vvedi chisla A');
for i:=1 to 10 do readln(a[i]);
begin
for i:=1 to 10 do
S:=A[i]*exp(i*ln(x));

end;
writeln('S=',S:2:4);
readln;
readln
end.
там же сумма стоит! поэтому нужно так:
Код:
S := 0;
for I := 1 to 10 do
  S := S + A[I] * Exp(I * Ln(X));
Alex_FF вне форума Ответить с цитированием
Старый 17.12.2009, 20:53   #8
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Да точно, там накопление суммы, спасибо неучел.
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 17.12.2009 в 20:56.
MyLastHit вне форума Ответить с цитированием
Старый 17.12.2009, 20:53   #9
#SAM#
 
Регистрация: 17.12.2009
Сообщений: 9
По умолчанию

Слушай, у меня в Delphi 7, в Console Application ни одна из этих программ не работает. Я в массивах вообще плохо соображаю. Посмотри пожалуйста обе задачи, может ошибки найдешь?
#SAM# вне форума Ответить с цитированием
Старый 17.12.2009, 20:54   #10
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
Вот программа, но подход к ней нерациональный))) ибо по другому не знаю как)))) Всё работает



program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;


const n=10;
var m:array[1..n] of integer;
i, maxindex, minindex, kolvo:integer;
max, min:real;

begin

Writeln('Vvedi massiv');
for i:=1 to n do readln(M[i]);
max := M[1];
maxindex := 1;
for i:=2 to n do
if max < M[i] then begin
max := M[i];
maxindex := i;
end;
for i:=2 to n do
if min > M[i] then begin
min := M[i];
minindex := i;
end;
for i:=1 to n do
kolvo:=abs(maxindex-minindex);


writeln(kolvo);
readln;
readln
end.
цикл здесь не нужен.
И, к тому же, кол-во элементов равно не maxindex - minindex, а maxindex - minindex + 1.
Alex_FF вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста решить задачу с массивами. katbka Помощь студентам 2 07.09.2008 11:18
Помогите дорешить задачу с массивами(Pascal) Дима82 Помощь студентам 4 23.05.2008 23:11
помогите решить 3 задачи с массивами! эра Помощь студентам 5 20.02.2008 14:57
Помогите решить задачу с динамическими массивами и строками символов Andres Помощь студентам 2 31.01.2008 11:09