Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 12.09.2010
Сообщений: 7

Составить вектор В из упорядоченных по возрастанию всех повторяющихся членов последовательности А

12.09.2010, 12:07. Показов 1545. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана последовательность А размерности N. Составить вектор В из упорядоченных по возрастанию всех повторяющихся членов последовательности А. Вывести исходную и полученную последовательности. Нахождение повторяющегося члена последовательности оформить подпрограммой.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2010, 12:07
Ответы с готовыми решениями:

Заданы два упорядоченных по возрастанию массива. Составить из их значений третий, также упорядоченный по возрастанию (с
#include "pch.h" #include <iostream> int main() { setlocale(LC_ALL, "Russian"); int A = { 10,20,30,40 }; int B =...

Составить программу вычисления суммы всех членов последовательности не меньших заданного числа
школьная программа, очень легкая, но не могу понять почему не работает (решение выводит не правильно, не понятно что происходит с...

Составить программу вычисления суммы всех членов последовательности, не меньших заданного числа e
программу вычисления суммы всех членов последовательности, не меньших заданного числа e Формула:1/sqrt(k)+15

13
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
12.09.2010, 14:37
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
uses crt;
const nmax=100;
var a,b:array[1..nmax] of integer;
    n,m,i,j:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер последовательности А до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Последовательность А:');
for i:=1 to n do
 begin
  a[i]:=random(10);
  write(a[i]:3);
 end;
writeln;
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
m:=0;
for i:=1 to n do
if(a[i]=a[i+1]) or(a[i]=a[i-1]) then
 begin
  m:=m+1;
  b[m]:=a[i];
 end;
if m=0 then write('Повторяющихся элементов нет!')
else
 begin
  writeln('Все повторяющиеся элементы:');
  for i:=1 to m do
  write(b[i]:3);
 end;
readln
end.
2
0 / 0 / 0
Регистрация: 12.09.2010
Сообщений: 7
13.09.2010, 14:04  [ТС]
Спасибо тебе большое!!!!
0
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 7
21.10.2010, 19:17
Puporev Спасибо. Точно такую же задачу по инфе задали. Показал преподу,но он просит повторяющиеся элементы оформить еще 3 строкой,в ней уже указать какие элементы повторяются,но указать 1 раз(см скрин)
Помогите пожалуйста
Миниатюры
Составить вектор В из упорядоченных по возрастанию всех повторяющихся членов последовательности А  
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.10.2010, 19:48
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
uses crt;
const nmax=100;
var a,b:array[1..nmax] of integer;
    n,m,i,j,k:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер последовательности А до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Последовательность А:');
for i:=1 to n do
 begin
  a[i]:=random(10);
  write(a[i]:3);
 end;
writeln;
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
m:=0;
for i:=1 to n do
if(a[i]=a[i+1]) or(a[i]=a[i-1]) then
 begin
  m:=m+1;
  b[m]:=a[i];
 end;
if m=0 then write('Повторяющихся элементов нет!')
else
 begin
  writeln('Все повторяющиеся элементы:');
  for i:=1 to m do
  write(b[i]:3);
 end;
writeln;
i:=1;
while i<=m-1 do
if b[i]=b[i+1] then
 begin
  for j:=i to m-1 do
  b[j]:=b[j+1];
  m:=m-1;
 end
else i:=i+1;
writeln('Повторяющиеся элементы по 1 разу:');
for i:=1 to m do
write(b[i]:3);
readln
end.
2
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 7
26.11.2010, 22:49
Puporev нужна опять помощь
1) Она должна создавать файл на жестком диске(обычный текстовый файл), в который она должна записать:
1.Задание(Дана последовательность А размерности N. Составить вектор В из упорядоченных по возрастанию всех повторяющихся членов последовательности А. Вывести исходную и полученную последовательности. Нахождение повторяющегося члена последовательности оформить подпрограммой.)
2.Исходную и полученную последовательности
3.повторяющиеся элементы.

Вобщем что-то примерно,что тут https://www.cyberforum.ru/post1105934.html только у меня не матрицы.

Спасибо за помощь.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
27.11.2010, 12:55
Цитата Сообщение от standupfucka Посмотреть сообщение
Она должна создавать файл
Лично мне она (кто она?) ничего не должна...
0
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 7
28.11.2010, 17:48
Цитата Сообщение от Puporev Посмотреть сообщение
Лично мне она (кто она?) ничего не должна...
Понятно,что не должна.Я помощи прошу ;\

Она - это вот эта программа https://www.cyberforum.ru/post1046743.html.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.11.2010, 17:55
standupfucka, Дело в том, что если в программе ввести текст русскими буквами, то в файле получатся каракули. Вам что-то говорили по этому поводу?
1
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 7
29.11.2010, 16:45
Цитата Сообщение от Puporev Посмотреть сообщение
standupfucka, Дело в том, что если в программе ввести текст русскими буквами, то в файле получатся каракули. Вам что-то говорили по этому поводу?
Сказали что им неважно какой мы программой будем эти файлы открывать,поэтму можно и через паскаль открыть.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
29.11.2010, 17:14
Вы видимо не врубаетесь. Если Вы создадите в Блокноте текстовый файл такого содержания
Мама мыла раму,
то в программе Вы увидите
Њ*¬* ¬л«* а*¬г
0
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 7
01.12.2010, 00:10
Цитата Сообщение от Puporev Посмотреть сообщение
Вы видимо не врубаетесь. Если Вы создадите в Блокноте текстовый файл такого содержания
Мама мыла раму,
то в программе Вы увидите
Њ*¬* ¬л«* а*¬г
Я это понимаю. Нужно сохранить в файле .txt. Препод сказал,что будет открывать через паскаль меняя разрешение на .pas
Вобщем если вы сделаете ,чтоб он сохранял в текстовом файле ничего страшного ,я буду благодарен.
Спасибо за внимание.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.12.2010, 09:17
Посмотрел внимательно программу, оказывается не совсем по заданию она была, не было подпрограммы, да и небольшие ошибки были в поиске. Короче довел вроде до ума. Чтобы не париться с кодировкой файла, строки перед выводом в него сразу преобразуем в читаемый формат. Если что, процедура эта есть здесь
Конвертация строк
аналоги ее легко найти в инете, да и самому написать можно за 15 минут
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
uses crt;
const nmax=100;
{процедура преобразования русских букв из кодировки DOS в программе в WIN в файле}
procedure Convert(var a:string);{ASCII->ANSI}
var i:integer;
begin
for i:=1 to length(a) do
if ord(a[i]) in [128..175] then a[i]:=chr(ord(a[i])+64)
else if ord(a[i]) in [224..239] then a[i]:=chr(ord(a[i])+16)
else if ord(a[i])=240 then a[i]:=chr(ord(168))
else if ord(a[i])=241 then a[i]:=chr(ord(184));
end;
type vec=array[1..nmax] of integer;
{подпрограмма-функция поиска повторяющихся элементов}
function Povt(v:vec;k,n:byte):boolean;
var i:byte;
begin
Povt:=((k=1)and(v[k]=v[k+1]))or((k=n)and(v[k]=v[k-1]))
or((k in [2..n-1])and((v[k]=v[k+1])or(v[k]=v[k-1])));
end;
var a,b:vec;
    f:text;
    n,m,i,j,k:byte;
    x:integer;
    s:string;
begin
clrscr;
randomize;
assign(f,'vector.txt');
rewrite(f);
s:='Задание:'+#13#10+
' Дана последовательность А размерности N.'+#13#10+
' Составить вектор В из упорядоченных по возрастанию'+#13#10+
' всех повторяющихся членов последовательности А.'+#13#10+
' Вывести исходную и полученную последовательности.'+#13#10;
convert(s);{перевод строки для файла}
write(f,s);
s:=' Нахождение повторяющегося члена последовательности оформить подпрограммой.';
convert(s);
writeln(f,s);
writeln(f);
repeat
write('Размер последовательности А до ',nmax,' n=');
readln(n);
until n in [1..nmax];
s:='Исходная последовательность А:';
writeln(s);
convert(s);
writeln(f,s);
{создаем исходный вектор}
for i:=1 to n do
 begin
  a[i]:=random(10);
  write(a[i]:3);{на экран}
  write(f,a[i]:3);{в файл}
 end;
writeln;
writeln;
writeln(f);
{сортируем по возрастанию}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
{Создание вектора повторяющихся}
m:=0;
for i:=1 to n do
if Povt(a,i,n) then
 begin
  m:=m+1;
  b[m]:=a[i];
 end;
if m=0 then
  begin
   s:='Повторяющихся элементов нет!';
   write(s);
   convert(s);
   write(f,s);
  end
else
 begin
  s:='Все повторяющиеся элементы:';
  writeln(s);
  convert(s);
  writeln(f,s);
  for i:=1 to m do
   begin
    write(b[i]:3);
    write(f,b[i]:3);
   end;
  writeln;
  writeln(f);
  {Сжатие вектора - по 1 элементу}
  i:=1;
  while i<=m-1 do
  if b[i]=b[i+1] then
   begin
    for j:=i to m-1 do
    b[j]:=b[j+1];
    m:=m-1;
   end
  else i:=i+1;
  s:='Повторяющиеся элементы по 1 разу:';
  writeln(s);
  convert(s);
  writeln(f,s);
  for i:=1 to m do
   begin
    write(b[i]:3);
    write(f,b[i]:3);
   end;
 end;
close(f);
readln
end.
Вот пример получающегося файла

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Задание:
 Дана последовательность А размерности N.
 Составить вектор В из упорядоченных по возрастанию
 всех повторяющихся членов последовательности А.
 Вывести исходную и полученную последовательности.
 Нахождение повторяющегося члена последовательности оформить подпрограммой.
 
Исходная последовательность А:
  7  1  9  6  0  7  4  4  1  4  6  8  4  0  1
Все повторяющиеся элементы:
  0  0  1  1  1  4  4  4  4  6  6  7  7
Повторяющиеся элементы по 1 разу:
  0  1  4  6  7
2
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 7
01.12.2010, 11:38
спасибо огромное!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2010, 11:38
Помогаю со студенческими работами здесь

Процедуры и функции: Найти длину наибольшей последовательности упорядоченных по возрастанию символов
Создать файл произвольных символов.Найти длину наибольшей последовательности упорядоченных по возрастанию символов и скопировать эту...

Найти число членов последовательности b1..b40, больших ср. арифметического всех членов последоват. а1..a50
Даны две целочисленные последовательности а1… а50 и b1…b40. Определить число членов последовательности b1…b40, больше среднего...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru