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

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

12.09.2010, 12:07. Показов 1550. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru