12 / 1 / 0
Регистрация: 04.09.2011
Сообщений: 26
1

Заполнить одномерный массив так, чтобы все его элементы были различны и выбраны случайным образом

04.09.2011, 16:22. Показов 1885. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В Delphi создать консольные приложения (File-New-Console Application) для решения следующих задач. Каждую задачу необходимо решить с динамическими массивами и массивами-вариантами. В размерность массива запрашивается у пользователя в начале работы программы.
1. Одномерные массивы: Заполнить одномерный массив так, чтобы все его элементы были различны и выбраны случайным образом. Создавать дополнительный массив, множество или другую структуру нельзя.
2. Двумерные массивы: Дан массив целых чисел размерности NxN. В каждой строке поменять местами наибольшее из простых чисел с элементом, стоящим в той же строке на главной диагонали. Если в строке нет простых чисел, то обмен не производится.
Должно получиться 4 программы…
0
Лучшие ответы (1)
04.09.2011, 16:22
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.09.2011, 16:22
Ответы с готовыми решениями:

Заполните одномерный массив так, чтобы все его элементы были различны
Помогите решить задачу пожалуста. На Turbo Delphi Заполните одномерный массив так, чтобы все его элементы были различны. Размеры массива...

Заполнить одномерный массив случайными числами таким образом, чтобы все его элементы были различны
Заполнить одномерный массив с помощью случайных чисел таким образом, чтобы все его элементы были различны. Вот сделал только не робит :( ...

Заполните одномерный массив так, чтобы все его элементы были различны
парни кто может помочь, а лучше написать программку??? вот задание "заполните одномерный массив так, чтобы все его элементы были...

1
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
04.09.2011, 17:32 2
Лучший ответ Сообщение было отмечено Русалева Настя как решение

Решение

1. Динамический.

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
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
 
var a:array of integer;
    n,m,i,j,x:integer;
    f:boolean;
begin
randomize;
write('Razmer massiva n=');
readln(n);
Setlength(a,n);
writeln('Massiv:');
m:=0;
a[0]:=random(2*n)-n;
for i:=1 to n-1 do
  begin
    repeat
      f:=false;
      x:=random(2*n)-n;
      for j:=0 to m-1 do
      if a[j]=x then f:=true;
    until f=false;
    a[i]:=x;
    m:=m+1;
  write(a[i]:4);
 end;
readln
end.
1.Вариантный.
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 Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,Variants;
var a:variant;
    n,m,i,j,x:integer;
    f:boolean;
begin
randomize;
write('Razmer massiva n=');
readln(n);
a:=VarArrayCreate([1,n], varInteger);
writeln('Massiv:');
m:=1;
a[1]:=random(2*n)-n;
for i:=2 to n do
  begin
    repeat
      f:=false;
      x:=random(2*n)-n;
      for j:=1 to m do
      if a[j]=x then f:=true;
    until f=false;
    a[i]:=x;
    m:=m+1;
  write(a[i]:4);
 end;
readln
end.
Добавлено через 17 минут
2. Динамический.
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
function Prost(x:integer):boolean;
var i:integer;
begin
if x<2 then result:=false
else
 begin
  result:=true;
  i:=2;
  while(i*i<=x)and result do
  if x mod i=0 then result:=false
  else inc(i);
 end;
end;
var a:array of array of integer;
    n,i,j,jmx,k,x:integer;
begin
randomize;
write('Razmer matricy n=');
readln(n);
Setlength(a,n,n);
writeln('Ishodnaya matrica:');
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do
   begin
    a[i,j]:=random(20);
    write(a[i,j]:4);
   end;
  writeln;
 end;
for i:=0 to n-1 do
 begin
  jmx:=-1;//индекс максимального простого
  j:=0;
  while(j<n)and(jmx=-1) do//найдем любое простое
  if Prost(a[i,j]) then jmx:=j //пока оно максимальное
  else inc(j);
  if jmx>-1 then//если есть простые
   begin
    for k:=0 to n-1 do //найдем самое большое из них
    if Prost(a[i,k])and(a[i,k]>a[i,jmx]) then jmx:=k;
    x:=a[i,jmx];
    a[i,jmx]:=a[i,i];//обменяем с диагональным
    a[i,i]:=x;
   end;
 end;
writeln('Obmen elementov:');
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do
  write(a[i,j]:4);
  writeln;
 end;
readln
end.
 
end.
Добавлено через 9 минут
2. Вариантный.
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
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,Variants;
 
function Prost(x:integer):boolean;
var i:integer;
begin
if x<2 then result:=false
else
 begin
  result:=true;
  i:=2;
  while(i*i<=x)and result do
  if x mod i=0 then result:=false
  else inc(i);
 end;
end;
var a:variant;
    n,i,j,jmx,k,x:integer;
begin
randomize;
write('Razmer matricy n=');
readln(n);
a:= VarArrayCreate([0,n-1,0,n-1],varInteger);
writeln('Ishodnaya matrica:');
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do
   begin
    a[i,j]:=random(20);
    write(a[i,j]:4);
   end;
  writeln;
 end;
for i:=0 to n-1 do
 begin
  jmx:=-1;//индекс максимального простого
  j:=0;
  while(j<n)and(jmx=-1) do//найдем любое простое
  if Prost(a[i,j]) then jmx:=j //пока оно максимальное
  else inc(j);
  if jmx>-1 then//если есть простые
   begin
    for k:=0 to n-1 do //найдем самое большое из них
    if Prost(a[i,k])and(a[i,k]>a[i,jmx]) then jmx:=k;
    x:=a[i,jmx];
    a[i,jmx]:=a[i,i];//обменяем с диагональным
    a[i,i]:=x;
   end;
 end;
writeln('Obmen elementov:');
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do
  write(a[i,j]:4);
  writeln;
 end;
readln
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.09.2011, 17:32
Помогаю со студенческими работами здесь

Заполнить матрицу случайными числами так, чтобы все ее элементы были различны
Написал программу &quot;заполнить матрицу случайными числами так, чтобы все ее элементы были различны&quot; Program Night; uses crt; const...

Одномерный массив из 7 элементов заполнить случайным образом числами от 5 до 9. Заменить все элементы массива меньше 5 нулями
Одномерный массив из 7 элементов заполнить случайным образом числами от 5 до 9. Заменить все элементы массива меньше 5 нулями. Вывести на...

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

Массив: как сделать так, чтобы рандомно выбирались только те элементы массива, которые не были выбраны раньше?
В общем, из массива рандомно выбирается элемент, как сделать так, чтобы выбирались только те, которые не были выбраны раньше? Можно это...

Дан массив x(20). Сжать его так, чтобы были удалены все нулевые элементы
Дан массив x(20). Сжать его так, чтобы были удалены все нулевые элементы.


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Использование кэша Laravel - полный гайд
bytestream 18.02.2025
Кэширование - один из наиболее эффективных способов повышения производительности веб-приложений. В современном мире, где скорость загрузки страниц напрямую влияет на удержание пользователей и. . .
Создаем REST API в Laravel с аутентификацией и Passport
bytestream 18.02.2025
Разработка современных веб-приложений все чаще требует создания надежного и хорошо структурированного API. REST API стал стандартом де-факто для построения взаимодействия между клиентской и серверной. . .
Пайплайны в Laravel - полный гайд
bytestream 18.02.2025
Разработка современных веб-приложений часто требует обработки сложных процессов, состоящих из множества последовательных шагов. Например, при создании системы комментариев может потребоваться. . .
Как правильно использовать @required в Symfony
bytestream 18.02.2025
При разработке приложений на Symfony мы часто сталкиваемся с необходимостью внедрения зависимостей. Фреймворк предоставляет несколько способов управления этим процессом, и одним из таких инструментов. . .
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru