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

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

11.05.2014, 14:43. Показов 389. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть условие:
Проанализировать расписание телепередач по N каналам телевидения за одну неделю. Информация о передаче задается строкой, которая содержит номер канала, название передачи, продолжительность передачи, тематический раздел.
1) Ввести информацию по всем передачам с клавиатуры (раздельно по каждому каналу)
2) Для тех каналов, в которых количество музыкальных передач меньше среднего по всем каналам, упорядочить телепередачи в порядке неубывания их продолжительности
3) Вывести на экран в виде таблицы по три элемента из каждого упорядоченного массива

вот, что я написал, но программа не идет все равно
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
program z1;
type str=string[79];
mas=array[1..100,1..150] of str;
kanal=array[1..100] of byte;
var a:mas; kol:kanal;
i,n:byte;
procedure vvod(var a:mas; var kol:kanal; var n:byte);
var i,j,k:byte;
s:str;
begin
write('n='); readln(n);
for i:=1 to n do begin
write('число программ в ',i,' -ом канале');
readln(kol[i]);
for j:=1 to kol[i] do begin
for k:=1 to 79 do a[i,j][k]:=' ';
a[i,j][0]:=chr(79);
write('название'); readln(s);
insert(s,a[i,j],1);
write('продалжительность'); readln(s);
insert(s,a[i,j],25);
write('тема'); readln(s);
insert(s,a[i,j],30);
end;
end;
end;
procedure sred( var a:mas; var kol:kanal; n,t:byte);
var p,k,i,j:byte;
begin
k:=0; 
for i:=1 to n do
for j:=1 to kol[i] do begin
p:=pos('музыка',a[i,j]);
if p>0 then k:=k+1;
end;
t:=k/n;
end;
procedure sort(var a:mas; var kol:kanal; n,t:byte);
var p,i,j,c,m,z,x:byte; buf,s:str; fl:boolean; 
begin
 for i:=1 to n do begin
  j:=1;
  while j<=kol[i] do begin
   p:=pos('музыка',a[i,j]);
   if p>0 then c:=c+1; if j=kol[i] and c<sred then begin
    for j:=1 to kol[i] do
    begin s:=copy(a[i,j],25,5);
    m:=length(s);
    while(m>0) and (s[m]=' ') do m:=m-1;
    z:=chr(m);
    for j:=1 to kol[i]-1 do
    begin s:=copy(a[i,j+1],25,5);
    m:=length(s);
    while(m>0) and (s[m]=' ') do m:=m-1;
    x:=chr(m);
    fl:=true;
    while fl do begin
     fl:=false;
     for j:=1 to kol[i]-1 do
     if z>x then begin
      buf:=a[i,j];
      a[i,j]:=a[i,j+1];
      a[i,j+1]:=buf;
      end; 
     end; 
    end; 
   end else j:=j+1;
  end; 
end;
end; end;
procedure vyvod(var a:mas; n:byte);
var i:byte;
begin
for i:=1 to n do
writeln(a[i]);
end;
begin
vvod(a,n);
sred(a,n,t);
sort(a,n,t);
vyvod(a,n);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2014, 14:43
Ответы с готовыми решениями:

Вывести на экран в виде таблицы по три элемента из каждого упорядоченного массива.
Помогите пожалуйста найти и исправить ошибке в программе: Ну или показать где глобальные ошибки)...

Вывести на экран каждые три элемента массива размером 15
Как написать задачу? Вывести на экран каждые три элемента массива размером 15

Как вывести результат двумерного массива на экран в виде таблицы?
как вывести результат двумерного массива на экрант в виде таблицы

Вывести на экран квадрат каждого элемента массива, если массив равен 15
Помогите пожалуйста. вывести на экран квадрат каждого элемента массива если массив равен 15

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

Вывести на экран значения корней и квадратов для каждого элемента массива
Дан массив, который состоит из 5 целых чисел. Вывести на экран значения корней и квадратов для...

Ввести элементы двумерного массива с клавы С++.Нужно вывести его на экран в виде таблицы, в конце каждой строки надо вывести самый большой элемент
Вот мой код : #include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; using std::cout;...

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

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


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

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