Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
5 / 5 / 2
Регистрация: 20.05.2011
Сообщений: 58
1

Сформировать два новых целочисленных массива B и C из элементов исходного

12.06.2011, 10:33. Показов 4051. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помгите пожалуйста господа форумчане!
Ничего не соображаю в сериях.

Дан целочисленный массив A размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1). Сформировать два новых целочисленных массива B и C одинакового размера, записав в массив B длины всех серий исходного массива, а в массив C — значения элементов, образующих эти серии.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2011, 10:33
Ответы с готовыми решениями:

Из положительных и отрицательных элементов исходного массива сформировать два новых
3.Составьте программу формирования из массива A двух массивов, в которых первый массив заполнен...

Сформировать два новых массива из 20-ти первых и из 20-ти последних элементов исходного массива, деленных на max
С помощью функции Random сформировать двумерный массив размером n*m вещественных чисел с элементами...

Из положительных и отрицательных элементов исходного массива сформировать два новых
3*. Составьте программу формирования из массива A(N) двух массивов, в которых первый массив...

Дан целочисленный массив A размера N. Сформировать два новых целочисленных массива B и C одинакового размера, записав в
Привет,может кто сможет помочь с решением : Назовем серией группу подряд идущих одинаковых...

7
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
12.06.2011, 10:45 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
// Дан целочисленный массив A размера N. 
// Назовем серией группу подряд идущих одинаковых элементов, 
// а длиной серии — количество этих элементов (длина серии может быть равна 1). 
// Сформировать два новых целочисленных массива B и C одинакового размера, 
// записав в массив B длины всех серий исходного массива, 
// а в массив C — значения элементов, образующих эти серии.
// PascalABC.NET. lamed
const
  n = 20;
var
  a,b,c: array[1..n] of integer;
  i,k: integer;
  curr,len: integer;
begin
  randomize;
  for i:= 1 to n do
    a[i] := random(5);
  curr := a[1];
  len := 1;
  k:= 0;
  for i:= 2 to n do
    if a[i]=curr then
      inc(len)
    else begin
      inc(k);
      b[k]:= len;
      c[k]:= curr;
      curr:= a[i];
      len := 1;
    end;
  write('a->');
  for i:= 1 to n do
    write(a[i],';');
  writeln;
  write('Серии:');
  for i:= 1 to k do
    write(c[i],'(',b[i],');');
  writeln;
end.
1
5 / 5 / 2
Регистрация: 20.05.2011
Сообщений: 58
12.06.2011, 10:54  [ТС] 3
ответ должен быть примерно таким:
Сформировать два новых целочисленных массива B и C из элементов исходного
0
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
12.06.2011, 11:12 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
{ Дан целочисленный массив A размера N. 
 Назовем серией группу подряд идущих одинаковых элементов, 
 а длиной серии — количество этих элементов (длина серии может быть равна 1). 
 Сформировать два новых целочисленных массива B и C одинакового размера, 
 записав в массив B длины всех серий исходного массива, 
 а в массив C — значения элементов, образующих эти серии.
 PascalABC.NET } 
uses
  Crt;
const
  MaxN = 20;
var
  a,b,c: array[1..MaxN] of integer;
  i,k,n: integer;
  curr,len: integer;
begin
  readln(n);
  if not n in [1..MaxN] then
    begin
      writeln('Нельзя построить');
      readln;
      exit;
    end;
 
  randomize;
  for i:= 1 to n do
    a[i] := random(5);
  curr := a[1];
  len := 1;
  k:= 0;
  for i:= 2 to n do
    if a[i]=curr then
      inc(len)
    else begin
      inc(k);
      b[k]:= len;
      c[k]:= curr;
      curr:= a[i];
      len := 1;
    end;
  inc(k);
  b[k]:= len;
  c[k]:= curr;
 
  clrscr;
  for i:= 1 to 30 do write(' ');
  writeln('N = ',n);
  writeln; writeln;
  for i:= 1 to 10 do write(' ');
  write('A:':6);
  for i:= 1 to n do
    write(a[i]:6);
  writeln;
  writeln;
  for i:= 1 to 10 do write(' ');
  write('B:':8);
  for i:= 1 to k do
    write(b[i]:6);
  writeln;
  writeln;
  for i:= 1 to 10 do write(' ');
  write('C:':8);
  for i:= 1 to k do
    write(c[i]:6);
  writeln;
  readln;
end.
В первой программе не обрабатывается последняя серия!
1
5 / 5 / 2
Регистрация: 20.05.2011
Сообщений: 58
12.06.2011, 11:22  [ТС] 5
lamed

Огромное вам спасибо!
Если вам не сложно то помогите пожалуйста с блок-схемой к этой задаче

Pascal
1
2
3
4
5
6
for i:= 1 to 30 do write(' ');
  writeln('N = ',n);
  writeln; writeln;
 
  for i:= 1 to 10 do write(' ');
  write('A:':6);
как быть с циклами они ведь должны возвращаться а конца цикла тут нету?
0
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
12.06.2011, 11:41 6
Цитата Сообщение от Alsi Посмотреть сообщение
как быть с циклами они ведь должны возвращаться а конца цикла тут нету?
Не понял фразу.
Цитата Сообщение от Alsi Посмотреть сообщение
for i:= 1 to 30 do write(' ');
Это цикл, а строки за ним к циклу не относятся.

Добавлено через 2 минуты
Построитель блок-схем http://diamfc.oratau.com/
1
5 / 5 / 2
Регистрация: 20.05.2011
Сообщений: 58
12.06.2011, 11:47  [ТС] 7
Спасибо за то что помог разобраться что к чему!
0
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
12.06.2011, 11:48 8
Удачи!
1
12.06.2011, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2011, 11:48
Помогаю со студенческими работами здесь

Построить два новых массива, состоящие из четных и нечетных элементов исходного
Начались массивы, в которых, к сожалению, я ничего не понимаю. Вот задача - Дан массив Y1, Y2,...

Сформировать из элементов массивов А, В два новых массива C, D по правилу
Даны два одномерных массива целых чисел (массив А, состоящий из n элементов, массив В – из...

Сформировать два массива из элементов исходного
Составьте программу формирования из массива A(N) двух массивов, в которых первый массив заполнен...

Сформировать два массива из элементов исходного
Помогите исправить ошибку! Он формирут 2 массива, но не формирует их так, чтобы в одном были...

Сформировать два массива из элементов исходного
Всем привет. Нужно очень срочно написать программу, никак не могу понять что за чем! Помогите...

Из элементов массива сформировать два новых - из четных и нечетных элементов
Из одномерного массива произвольных чисел целых чисел сформировать 2 массива: A - массив четных...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru