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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2007, 16:40   #1
pirozho4ek
 
Регистрация: 18.05.2007
Сообщений: 8
Восклицание Поиск числа, большего заданного

Прива народ. Помогите с задачкой:

Найти среди чисел 1,1+1/2,1+1/2+1/3,...
первое, большее некоторого числа А.

Заранее спасибо =)
pirozho4ek вне форума Ответить с цитированием
Старый 20.05.2007, 18:25   #2
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию Пользуйся моей добротой!!!!!

Код программы:
Код:
 
Uses Crt;
Var
X:array [1..20] of real;
i,n:integer;
a:real;
Begin
ClrScr;
Write('Vvedite chislo ');
Readln(n);
For i:=1 to n do
begin
X[i]:=i+1/i;
Writeln(x[i]:7:2);
end;
Writeln;
Write('Vvedite chislo A ');
Readln(a);
For i:=1 to n do
If X[i]>A then
begin
Write ('Max pervoe chislo',x[i]:5:2,' ','nomer=',i);
Break;
end;
Readkey;
End.
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Старый 20.05.2007, 18:28   #3
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Числа у тебя содержатся в массиве? Если да, то тогда можно написать так:

function FindMaxInArr: integer;
var
i: integer;
begin
for i := low(MyArr) to High(MyArr) do
begin
Result := MyArr[i];
if Result > SomeNumberWithNameA then
break;
end;
end;
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 20.05.2007, 19:00   #4
pirozho4ek
 
Регистрация: 18.05.2007
Сообщений: 8
По умолчанию

пасибо за решение, а знает кто как написать решение используя оператор while/repeat ?
pirozho4ek вне форума Ответить с цитированием
Старый 21.05.2007, 18:35   #5
Heaven
Новичок
Джуниор
 
Регистрация: 21.05.2007
Сообщений: 1
Восклицание Помогите с задачей, плиз

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

Последний раз редактировалось Heaven; 21.05.2007 в 18:49.
Heaven вне форума Ответить с цитированием
Старый 21.05.2007, 21:39   #6
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Ну, можно и так
j := 0;
for i := Low(Mass1) to High(Mass1) do
begin
if mass1[i] = 0 then continue;
mass2[j] := mass1[i];
inc(j);
end;

for i := Low(mass2) to High(mass2) do
mass1[i] := mass2[i];

Тупое решение в лоб.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск непарного числа в файле lexus Помощь студентам 8 20.12.2009 20:40
Помогите с макромом - поиск заданного значения Alenka2319 Microsoft Office Excel 1 12.06.2008 16:34
Найти все слова, отличающиеся от заданного на 1 букву и имеющую ту же длинну. gred Помощь студентам 5 23.05.2008 08:32
Си - Написать функцию, проверяющую наличие в строке заданного слова Cvetok Помощь студентам 1 14.05.2008 05:44