Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Pascal ABC Упорядочьте по возрастанию только: элементы с четными порядковыми номерами в списке Упорядочьте по возрастанию только: элементы с четными порядковыми номерами в списке https://www.cyberforum.ru/ pascalabc/ thread1732462.html Pascal ABC Упорядочьте по возрастанию только: положительные элементы списка
Упорядочьте по возрастанию только: положительные элементы списка
Pascal ABC Написать рекурсивную функцию, определяющую, является ли заданное натуральное число простым Написать рекурсивную функцию, определяющую, является ли заданное натуральное число простым (простым называется натуральное число, большее 1, не имеющее других делителей, кроме единицы и самого себя). https://www.cyberforum.ru/ pascalabc/ thread1732452.html Pascal ABC Написать программу с рекурсивной функцией, вычисляющей сумму цифр заданного натурального числа n Написать программу с рекурсивной функцией, вычисляющей сумму цифр заданного натурального числа n. https://www.cyberforum.ru/ pascalabc/ thread1732444.html
Найти сумму положительных чисел последовательности Pascal ABC
Дорогие господа форумчане помогите решить задачку. Последовательно вводятся N целых чисел. Найти сумму всех положительных среди них. Задачу надо решить 3 способами: циклом по параметру, циклом с предусловием, циклом с постусловием. Без массивов.
Pascal ABC Посчитать значение выражения https://www.cyberforum.ru/ pascalabc/ thread1732321.html
Смотреть скрин
Pascal ABC Маршрут Гамильтона https://www.cyberforum.ru/ pascalabc/ thread1732231.html
Здравствуйте! Нужно написать программу на Pascal abc по шифрованию. Тема: "Маршрут Гамильтона". Попробовал разобраться, но что-то в голову ничего не приходит. Кто нибудь сможет помочь написать это программу?
Известны оценки абитуриента на четырех экзаменах - определить, сколько «5» он получил Pascal ABC
Известны оценки абитуриента на четырех экзаменах. Определить, сколько «5» он получил. Я новичок в паскале я делаю begin.writeln.readln и сама формула там. но мне учитель говорит можно решить в 3-5 строчек. но ничего не может объяснить толком. хотелось бы посмотреть наглядно как это выглядит. Спасибо заранее
Pascal ABC Найти член геометрической прогрессии https://www.cyberforum.ru/ pascalabc/ thread1732117.html
См. вл.
Pascal ABC Составить программу для решения задачи с применением функции пользователя Задача во вложении Вложение удалено модератором. https://www.cyberforum.ru/ pascalabc/ thread1732106.html
Вывести на экран слова, которые можно создать из слова-примера Pascal ABC
в общем такая беда: программа работает правильно, только проблема с выводом слов. Эта часть кода "if f then write(a, ' '); end;" выводит на экран слова, которые можно создать со слова-примера. И получается так, что после их вывода программа не останавливается и "затирает" все слова. Program Slova; Uses GraphABC; Const K = 95364; Type
Pascal ABC Вывести треугольники из цифр https://www.cyberforum.ru/ pascalabc/ thread1732001.html
Нужно составить программу в ABC.Pascal'е вывода данного рисунка: 1 1 22 22 3 3 3 3 4 4 4 4 5 5 5 5 66666666666
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
14.05.2016, 10:11 0

Упорядочьте по возрастанию только: Элементы с порядковыми номерами, являющимися простыми числами - Pascal ABC - Ответ 9136905

14.05.2016, 10:11. Показов 1355. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено Worm67 как решение

Решение

Взято отсюда:
Сортировка методом вставки чётных и нечётных чисел
и отсюда:
Алгоритм, который устанавливает – является ли число простым

Pascal
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
program DualSort;
 
uses
  crt;
const
  Nmax = 10;
 
type
  TArray = array[0..Nmax - 1] of integer;
  TIndex = array[0..Nmax - 1] of integer;
 
function IsPrime(n: Longint): Boolean;
var
  i, sqrtn, delta: Word;
begin
  if (n >= 5) and ((n - 1) mod 6 = 0) or ((n + 1) mod 6 = 0) then begin
    i := 5;
    delta := 2;
    sqrtn := Trunc(sqrt(n));
    IsPrime := False;
    while i <= sqrtn do 
    begin
      if n mod i = 0 then Exit;
      Inc(i, delta);
      delta := delta xor 6; {смена шага, то 2, то 4}
    end;
    IsPrime := True;
  end else
    IsPrime := (n = 2) or (n = 3);
end;
 
procedure GetIndexes(const a: TArray; var Indx: TIndex; var n: integer;
    ParityEven: boolean);
var
  i: integer;
begin
  n := 0;
  for i := low(a) to high(a) do
    if IsPrime(a[i]) xor ParityEven then
    begin
      Indx[n] := i;
      Inc(n);
    end;
end;
 
procedure sort(var a: TArray; const Indx: TIndex; n: integer; DirectUp: boolean);
var
  i, j: integer;
  x: integer;
begin
  if n < 2 then
    Exit;
  for i := 0 to n - 1 do
    for j := i + 1 to n - 1 do
    begin
      if (a[Indx[i]] < a[Indx[j]]) xor DirectUp then
      begin
        x := a[Indx[i]];
        a[Indx[i]] := a[Indx[j]];
        a[Indx[j]] := x;
      end;
    end;
end;
 
var
  a: TArray = (8, 1, 6, 3, 4, 5, 2, 7, 0, 9);
  i: integer;
  Indexes: TIndex;
  Len: integer;
 
begin
  clrscr;
  Writeln('Исходный массив:');
  for i := low(a) to high(a) do
  begin
    if IsPrime(a[i]) then
      TextColor(Red)
    else
      TextColor(White);
    Write(a[i]:4);
  end; 
  Writeln;  
  GetIndexes(a, Indexes, Len, True);
  sort(a, Indexes, Len, true);
  GetIndexes(a, Indexes, Len, False);
  sort(a, Indexes, Len, False);
  Writeln('Сортированный массив:');
  for i := low(a) to high(a) do
  begin
    if IsPrime(a[i]) then
      TextColor(Red)
    else
      TextColor(White);
    Write(a[i]:4);
  end; 
  writeln;
end.


Вернуться к обсуждению:
Упорядочьте по возрастанию только: Элементы с порядковыми номерами, являющимися простыми числами Pascal ABC
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2016, 10:11
Готовые ответы и решения:

Упорядочьте по возрастанию только: элементы с четными порядковыми номерами в списке
Упорядочьте по возрастанию только: элементы с четными порядковыми номерами в списке

Используя функции сформировать одномерный массив и отсортировать по возрастанию только те элементы массива, которые являются простыми числами
Помогите закончить две задачи. 1. Используя функции сформировать одномерный массив и отсортировать...

Упорядочьте по возрастанию только: положительные элементы списка
Упорядочьте по возрастанию только: положительные элементы списка

Заданный массив p1 (16) упорядочить по возрастанию, уничтожить из него элементы с порядковыми номерами, кратными четырем
Заданный массив p1 (16) упорядочить по возрастанию, уничтожить из него элементы с порядковыми...

1
14.05.2016, 10:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2016, 10:11
Помогаю со студенческими работами здесь

Среди номеров, являющимися простыми числами и лежащими на отрезке [a,b] найти число К
1. среди номеров, являющимися простыми числами и лежащими на отрезке найти число К. формат файла...

Упорядочить по возрастанию модулей элементы целочисленного массива, расположенные между третьим и пятым простыми числами
Program M1; Var A : Array Of Integer; i,j,q, p, x: Integer; Begin For i:=1 to 10 do ...

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

Определить,сколько элементов массива располагается между самым большим и самым маленьким элементами являющимися простыми числами
Определить,сколько элементов массива располагается между самым большим и самым маленьким элементами...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru