Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/30: Рейтинг темы: голосов - 30, средняя оценка - 4.63
specnazkin
-13 / 2 / 1
Регистрация: 18.11.2010
Сообщений: 36
1

Найти первый из номеров К, для которых выполняется условие

12.01.2011, 12:02. Просмотров 5453. Ответов 16
Метки нет (Все метки)

!!!!!!!!!!Народ распишите плиз решения(алгоритмы)программ на языке Delphi те которые знаете,можно решения альтернативных задач,можно какие нибудь сборники задач с решениями,спасибо огромнущее(у меня экзамен скоро оч,вот все пригодится) !!!!!!!!!!
Циклы
1. Дано число D (> 0). Последовательность чисел AN определяется следующим образом: A1 = 2, AN - 2 + 1/AN-Ь N = 2,3,... Найти первый из номеров К, для которых выполняется условие |Ак - Ак-il < D, и вывести этот номер, а также числа Ак-i и Ак.
2. Дано число D (> 0). Последовательность чисел AN определяется следующим образом: A1 = 1, А2 = 2, AN = (AN-2+ AN-1)/2, N = 3, 4,... . Найти первый из номеров К, для которых выполняется условие |Ак -AK-I| < D, И вывести этот номер, а также числа Ак-i и Ак.

Одномерные массивы
• 1. Дан целочисленный массив А размера 10. Вывести номер последнего из тех его
элементов A[i], которые удовлетворяют двойному неравенству: А[1] < A[i] < А[10]. Если таких элементов нет, то вывести 0.
• 2. Проверить, образуют ли элементы целочисленного массива размера N
арифметическую прогрессию. Если да, то вывести разность прогрессии, если нет — вывести 0.
3. Проверить, образуют ли элементы целочисленного массива размера N геометрическую прогрессию. Если да, то вывести знаменатель прогрессии, если нет — вывести 0.
4. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести номер первого элемента, нарушающего закономерность.
5. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вьюести 0, если нет, то вывести номер первого элемента, нарушающего закономерность.
v 6. Дано вещественное число R и массив размера N. Найти два элемента массива, сумма которых наиболее близка к данному числу.
7. Дано вещественное число R и массив размера N. Найти два элемента массива,
сумма которых наименее близка к данному числу.
8. Дан массив размера N. Найти номера двух ближайших чисел из этого массива.
.9. Дан целочисленный массив размера N. Определить максимальное количество его
одинаковых элементов.
10. Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся менее двух раз.
11. Дан массив размера N. Преобразовать его, вставив перед каждым положительным элементом нулевой элемент.
12. Дан массив размера N. Преобразовать его, вставив после каждого отрицательного элемента нулевой элемент.
13. Даны два массива А и В размера N, элементы которых упорядочены по возрастанию. Объединить эти массивы так, чтобы результирующий массив остался упорядоченным.
v 14. Дан массив размера N. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность. 15. Дан массив размера N. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют убывающую последовательность.
' 16. Заменить первый элемент одномерного массива, кратный 5, нулем.
17. Заменить последний элемент одномерного массива, кратный 3, нулем.
18. Заменить последний положительный элемент одномерного массива на второй элемент массива.
19. Заменить последний отрицательный элемент одномерного массива на модуль первого элемента массива.
20. Заменить минимальный по модулю отрицательный элемент одномерного массива на первый элемент массива.
21. Заменить максимальный по модулю отрицательный элемент одномерного массива
нулем.
22. Заменить первый отрицательный элемент массива на первый положительный.
Символы и строки
1. Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат хотя бы одну букву "А".
2. Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить длину самого короткого слова.
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2011, 12:02
Ответы с готовыми решениями:

Для целого числа N=1313 найти общее количество пар целых чисел x и y, для которых выполняется условие 7x+2y=N
Для целого числа N=1313 найти общее количество пар целых чисел x и y, для...

В неупорядоченном списке удалить те элементы, для которых выполняется заданное условие
В неупорядоченном списке удалить те элементы, для которых выполняется условие:...

Алгоритм Нарайаны - Найти такой наибольший j для которого выполняется условие
Алгоритм Нарайаны Шаг 1. Найти такой наибольший j для которого aj&lt;=aj+1; Шаг...

Найти наименьший номер n, для которого выполняется условие |an – an-1|<0,1 , если последовательность an имеет вид an+1= an+ 2/an.a1=1
помогите пожайлуста

Найти первый член последовательности, для которого будет выполняться условие
Помогите мне решить задачу. Для числовой последовательности...

16
Asker
117 / 105 / 29
Регистрация: 18.12.2010
Сообщений: 378
13.01.2011, 10:29 2
Лучший ответ Сообщение было отмечено как решение

Решение

ну у тебя и запросики! )))

поехали... 17 вопрос

Цитата Сообщение от specnazkin Посмотреть сообщение
17. Заменить последний элемент одномерного массива, кратный 3, нулем.
3
Вложения
Тип файла: rar 17.rar (165.4 Кб, 117 просмотров)
Asker
117 / 105 / 29
Регистрация: 18.12.2010
Сообщений: 378
13.01.2011, 10:58 3
Лучший ответ Сообщение было отмечено как решение

Решение

18 вопрос

массив я заполнил для примера 5 элементами. Если нужно, там измени ...
3
Вложения
Тип файла: rar 18.rar (164.2 Кб, 91 просмотров)
Asker
117 / 105 / 29
Регистрация: 18.12.2010
Сообщений: 378
13.01.2011, 11:29 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от specnazkin Посмотреть сообщение
1. Дан целочисленный массив А размера 10. Вывести номер последнего из тех его
элементов A[i], которые удовлетворяют двойному неравенству: А[1] < A[i] < А[10]. Если таких элементов нет, то вывести 0.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.Button1Click(Sender: TObject);
var
i, sSave : Integer;
a : array [1..10] of integer;
begin
 
// заполнение
// массива
 
i := 1;
while i <> 10 do
  begin
    i := i + 1;
    if (a[1] < a[i]) and (a[i] < a [10]) then
        sSave := i;
   end;
Label1.Caption := IntToStr(sSave);
  end;
 
end;
предварительно вставь label1, button1 и свой заполненный массив a.

Добавлено через 15 минут
22. Заменить первый отрицательный элемент массива на первый положительный.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.Button1Click(Sender: TObject);
var
i, sSave1, sSave2 : Integer;
a : array [1..x] of Real; // если НЕцелочисленный массив. X по твоему усмотрению
begin
 
// заполнение
// массива
 
i := x;
while i <> 1 do
  begin
    i := i - 1;
    if a[i] > 0 then
        sSave1 := i;
    if a[i] < 0 then
        sSave2 := i;
   end;
a[sSave2] := a[sSave1]; // приравнивание
end;
1
specnazkin
-13 / 2 / 1
Регистрация: 18.11.2010
Сообщений: 36
13.01.2011, 16:45  [ТС] 5
Спасибо Башущее))))))))))вот уже не зря я спрашивал ;]]]]]
0
specnazkin
-13 / 2 / 1
Регистрация: 18.11.2010
Сообщений: 36
15.01.2011, 15:41  [ТС] 6
Что-то кроме аскера никто и не отвечает(
0
Mad_Dog
Фрилансер
449 / 430 / 117
Регистрация: 01.06.2010
Сообщений: 1,315
15.01.2011, 15:48 7
А что, все обязаны отвечать??? Сам то хоть что-нибудь сделал???
0
Asker
117 / 105 / 29
Регистрация: 18.12.2010
Сообщений: 378
15.01.2011, 16:07 8
Так, на чём мы остановились?
ах да
19. Заменить последний отрицательный элемент одномерного массива на модуль первого элемента массива.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Button1Click(Sender: TObject);
var
i,sSave : Integer;
a : array [1..x] of integer;
begin
 
// заполнение
// массива
 
i := 1;
while i <> x do
  begin
    if (a[i] < 0) then
        sSave := i;
    i := i + 1;
   end;
Label1.Caption := 'Последний отриц. элемент массива '+ IntToSTR(a[sSave])+ ' заменён на модуль первого эл. массива '+IntToStr(abs(a[1]));
a[sSave] := abs(a[1]); // abs - модуль
end;
1
Mad_Dog
Фрилансер
449 / 430 / 117
Регистрация: 01.06.2010
Сообщений: 1,315
15.01.2011, 16:32 9
Asker, уж куда проще сделать вот так:
Delphi
1
2
3
4
5
6
for i:=x downto 1 do
  if a[i]<0 then 
    begin
      a[i]:=abs(a[1]);
      break
    end;
Да не мешало бы еще и Х инициализировать... А то фиг поймешь чему он у тебя равен...
0
Asker
117 / 105 / 29
Регистрация: 18.12.2010
Сообщений: 378
15.01.2011, 16:42 10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от specnazkin Посмотреть сообщение
20. Заменить минимальный по модулю отрицательный элемент одномерного массива на первый элемент массива.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TForm1.Button1Click(Sender: TObject);
var
i,sSave, sN : Integer;
a : array [1..x] of integer;
begin
 
// заполнение
// массива
 
sSave := 1;
i := 1;
sN := -2147483647;  // не от балды - это макимальная отрицательная величина в Integer;
while i <> x do
  begin
    if (a[i] < 0) then
      begin
        if ((abs(a[i])) < (abs(sn))) then
          begin
            sSave := i;
            sN := a[i];
          end;
      end;
    I := I + 1;
   end;
Label1.Caption := 'Отриц. элемент с наименьшим модулем '+ IntToSTR(a[sSave])+ ' заменён на первый эл. массива '+IntToStr(a[1]);
a[sSave] := a[1]; // замена
end;
Добавлено через 4 минуты
Пусть x specnazkin сам вставит куда надо.
И если ты не заметил, у меня всё по похожей конструкции

И раз такой умный, сразу бы и сказал, как правильно, а то сидишь и молчишь
2
Mad_Dog
Фрилансер
449 / 430 / 117
Регистрация: 01.06.2010
Сообщений: 1,315
15.01.2011, 16:43 11
Asker, а что, вот это уже не работает???
Delphi
1
2
//sN := -2147483647;  // не от балды - это макимальная отрицательная величина в Integer;
sN:=Low(Integer);
Уж куда изящнее!!!

Asker, ты пиши-пиши, тебе воздастся по твоим трудам и заслугам...
0
Asker
117 / 105 / 29
Регистрация: 18.12.2010
Сообщений: 378
15.01.2011, 16:56 12
в каком смысле
тебе воздастся по твоим трудам и заслугам...
0
Mad_Dog
Фрилансер
449 / 430 / 117
Регистрация: 01.06.2010
Сообщений: 1,315
15.01.2011, 16:59 13
Разумеется только в хорошем!!! Опыт приобретается трудом!!!
0
Asker
117 / 105 / 29
Регистрация: 18.12.2010
Сообщений: 378
16.01.2011, 10:46 14
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

тьфу ты, напугал блин..


Ну тогда вот ещё:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
procedure TForm1.Button1Click(Sender: TObject);
var
i,sSave, sN : Integer;
a : array [1..x] of integer;
begin
 
// заполнение
// массива
 
sSave := 1;
i := 1;
while i <> x do
  begin
    if (a[i] < 0) then
      begin
        if ((abs(a[i])) > (abs(sn))) then
          begin
            sSave := i;
            sN := a[i];
          end;
      end;
    I := I + 1;
   end;
Label1.Caption := 'Отриц. элемент с наибольшим модулем '+ IntToSTR(a[sSave])+ ' заменён на 0');
a[sSave] := 0; // замена
end;
Здесь то же самое, только знаки поменял...

Добавлено через 13 минут
Забыл...
это
21. Заменить максимальный по модулю отрицательный элемент одномерного массива
нулем.
Добавлено через 17 часов 22 минуты
Mad_Dog? ты же умный! Исправь, пожалуйста, этот код - а то он не работает что-то


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var
  Form1: TForm1;
  s : String;
  sl : array [1..255] of Integer;
  k, aK, bukvu, sSave : Integer;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
s := Edit1.Text;
k := 1;
sSave := Low(Integer); //  :DDDDD
while k <> length(s) do
  begin
    if Edit1.Text[k] <> ' ' then
      begin
        bukvu := bukvu + 1;
        sl[aK] := bukvu;
      end
    else
      if bukvu <> 0 then
      begin
        bukvu := 0;
        aK := AK + 1;
      end;
      k := k+1;
    Memo1.Lines.Add('АК : '+IntToSTr(ak)+', bukvu : '+IntTOSTR(bukvu)+', k : '+IntTOSTR(k))
  end;
k := 1;
while k > 255 do
  begin
    if sl[k] <> 0 then
      begin
        if (sSave > sl[k]) then
          sSave := sl[k];
      end;
  k := k + 1;
  end;
memo1.Lines.Add('Мин. длина  слова: '+IntToStr(sSave));
end;
Добавлено через 2 минуты
Цитата Сообщение от specnazkin Посмотреть сообщение
2. Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить длину самого короткого слова.
это вот это

Да, и на форме button1, Memo1 и Edit1...
1
specnazkin
-13 / 2 / 1
Регистрация: 18.11.2010
Сообщений: 36
16.01.2011, 14:09  [ТС] 15
1. Дан целочисленный массив А размера 10. Вывести номер последнего из тех его
элементов A[i], которые удовлетворяют двойному неравенству: А[1] < A[i] < А[10].
Если таких элементов нет, то вывести 0

Так вот я тут все подредактировал он мне какие бешенные числа выводит правильно нет?)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 program examen;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var
 i,K:integer;
  a:array[1..10]of Integer;
  begin
  randomize;
   for i:=1 to 10 do
 
    a[i]:=random(10);
    writeln(a[i]);
    begin
  i:=1;
 while i <> 10 do
  begin
    i := i + 1;
    if (a[1] < a[i]) and (a[i] < a [10]) then
        K := i;
Writeln(k);
 
 
   end;
 end;
 
   Readln;
  end.
0
specnazkin
-13 / 2 / 1
Регистрация: 18.11.2010
Сообщений: 36
17.01.2011, 14:49  [ТС] 16
Вот 13 попытался сделать народ проверте в чем ошибка плиз)

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program Project13;
uses
SysUtils;
const
n=10;
var
e,i,j:Integer;
a:array[1..n]of Integer;
b:array[1..n]of Integer;
c:array[1..(n+n)] of integer ;
begin
Randomize;
for i:=1 to 2*n do
begin
c[i]:=Random(11)-5;
write(c[i]:4);
end;
begin
for i:=1 to 2*n do
if c[i]>c[i+1] then
e:=c[i]; //Метод пузырька
c[i]:=c[i+1];
e:=c[i+1];
read(e);
write(c[i]:4);
end;
Readln;
end.
0
specnazkin
-13 / 2 / 1
Регистрация: 18.11.2010
Сообщений: 36
03.04.2011, 11:03  [ТС] 17
эту тему можно закрывать))))всем спасибо за помощь)))))
0
03.04.2011, 11:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2011, 11:03

Найти все натуральные числа, меньшие чем N, для которых выполняется соотношение a^2 + b^2 = c^2
Определить функцию, которая возвращает натуральное число, если аргумент функции...

Найти все такие тройки натуральных чисел х, у, z из интервала от 1 до 20, для которых выполняется равенство
Найти все такие тройки натуральных чисел х,у,z из интервала от 1 до 20, для...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru