Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Turbo Pascal Программирование модуля https://www.cyberforum.ru/ turbo-pascal/ thread408222.html
Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над одномерными массивами: 1) заполнение массива; 2) вывод на экран массива; 3) добавление элемента в k-ю позицию;...
Поиск (Объясните) Turbo Pascal
Объясните как рабртает этот поиск procedure pokazat_i_parfym(first:pparfym);{poisk} var n,st:string; q:pparfym; c:integer;
Turbo Pascal Вставка графической фигуры в программу.
Графическое изображение нужно вставить в программу как заставку Графическое изображение: uses graph; var grad,grreg:integer;
Turbo Pascal Последовательность.Паскаль Пусть вводится последовательность из целых чисел, заканчивающийся нулем. Найти два наименьших числа последовательности.Сделайте плз https://www.cyberforum.ru/ turbo-pascal/ thread408171.html
Turbo Pascal Оптимизация программы https://www.cyberforum.ru/ turbo-pascal/ thread408149.html
Задание: Решите задачу, используя только элементарные конструкции (последовательность, ветвления, циклы). Программа должна быть рабочей! Затем оптимизировать программу, решив задачу с...
Вычисление стоимости покупки с учётом скидки Turbo Pascal
Вычисление стоимости покупки с учётом скидки. Скидка в 3% предоставляется, если сумма покупки больше 500 рублей, в 5%- если сумма больше 1000 рублей.
Turbo Pascal Сумма первых n....
Вывести сумму первых n целых положительных четных чисел. Количество суммируемых чисел должно вводиться во время работы.
Turbo Pascal Найти в строке самое короткое слово и вывести его на экран найти в строке самое короткое слово и вывести его на экран! очень нужна программа,даже можно с блок схемой....помогите(((((((( https://www.cyberforum.ru/ turbo-pascal/ thread408127.html
Turbo Pascal Как запустить другую программу? https://www.cyberforum.ru/ turbo-pascal/ thread408125.html
Как запустить другую программу?
Turbo Pascal Помогите пожалуйста!! Очень,очень нужно! Смоделировать гармонический сигнал y=sinx в интервале x= методом разложения в ряд Тэйлора и вычисления значений полинома конечно-разностным методом, используя первые 7 членов ряда. Вывод информации... https://www.cyberforum.ru/ turbo-pascal/ thread408111.html
2 / 1 / 1
Регистрация: 06.10.2011
Сообщений: 81
0

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

15.12.2011, 16:48. Просмотров 537. Ответов 2
Метки (Все метки)


Помогите пожалуйста найти и исправить ошибке в программе:
Ну или показать где глобальные ошибки)
Условия:
Нельзя использовать процедуры и функции, а также делать более 2-мерного массива.
Проанализировать расписание телепередач по N каналам телевиде-
ния за одну неделю. Информация о передаче задается строкой, ко-
торая содержит: номер канала, название передачи, продолжитель-
ность передачи, тематический передачи.

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

Проанализтровать расписание за 4 дня по 4 каналам по 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
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
program tr_v2;
 uses crt;
 type Ar=array[1..4,1..16] of string;
 var i,j,k,l,m,n,s,c,q,a,b,x:byte;
     s1:real;
     ss:Ar;
     st,buf:string;
     fl,fl2:boolean;
     st1:string[3];
     st2:string[10];
     t1,t2,e:integer;
 
 begin
 
clrscr;
 
 fl:=true;
 repeat
  begin
   writeln('Введите количество дней');
    readln(m);
     writeln('введите количество каналов');
      readln(n);
  if (m<0) or (m>4) or ((n*4)<0) or ((n*4)>16) then writeln('Ввод неверен, повторите ввод')
   else fl:=false;
 
  end
 until fl=false;
 
 
 for i:=1 to m do
  begin
   k:=n;
   for j:=1 to (n*4) do
      begin
      writeln('Ввод данных для',(k div n),'  ','канала');
      k:=k+1;
       str(j,st1);
       insert(st1,ss[i,j],3);
       ss[i,j][3]:=' ';
       writeln('введите через пробел: название передачи, продолжительность передачи, тему передачи');;
       readln(ss[i,j]);
    end;
  end;
 
s:=0;
 
 for i:=1 to m do
  begin
   for j:=1 to (n*4) do
    begin
     k:=1;
     l:=0;
     fl:=true;
      repeat
       begin
 
     if ss[i,j][k]=' ' then
       l:=l+1;
         k:=k+1;
     if l=2 then
      begin
     if ss[i,j][k]='m' then
      begin
       s:=s+1;
       fl:=false;
      end
       else
        fl:=false;
      end;
 
    end
      until fl=false;
 
   end;
    end;
s1:=s/(m*n*4);
 writeln(s);
 writeln(s1:10:4);
 readln;
{‘®авЁа®ўЄ*}
  q:=0;
 
 for i:=1 to m do
  begin
   q:=q+1;
   for j:=1 to (q*4) do
    begin
     k:=1;
     l:=0;
     fl:=true;
     fl2:=true;
      repeat
       begin
 
     if ss[i,j][k]=' ' then
      begin
       l:=l+1;
      end;
         k:=k+1;
     if l=2 then
      begin
     if ss[i,j][k]='m' then
      begin
       s:=s+1;
       fl:=false;
      end
       else
        fl:=false;
      end;
 
    end
      until fl=false;
 
   if s<s1 then
    begin
     repeat
      begin
     k:=1;
     l:=0;
     fl:=true;
      repeat
       begin
 
     if ss[i,j][k]=' ' then
      begin
        a:=k;
        l:=l+1;
      end;
      k:=k+1;
     if l=2 then
      begin
       b:=k;
       k:=1;
     for  x:=a to b do
      begin
       st2[k]:=ss[i,j][x];
        k:=k+1;
 
 
       end;
 
        fl:=false;
      end;
 
    end
      until fl=false;
     val(st2,t1,e);
{„«п ўв®а®Ј®\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}
    repeat
       begin
 
     if ss[i,j+1][k]=' ' then
      begin
        a:=k;
        l:=l+1;
      end;
      k:=k+1;
     if l=2 then
      begin
       b:=k;
       k:=1;
     for  x:=a to b do
      begin
       st2[k]:=ss[i,j+1][x];
        k:=k+1;
 
 
       end;
 
        fl:=false;
      end;
 
    end
      until fl=false;
     val(st2,t2,e);
   if t2>t1 then
    begin
       buf:=ss[i,j];
       ss[i,j+1]:=ss[i,j];
       ss[i,j]:=buf;
 
    end;
     end
     until fl2=false;
   end;
 
   end;
    end;
 
for i:=1 to m do
  begin
  j:=1;
   repeat
    begin
    if (j mod 4)=0 then j:=j+1;
     writeln(ss[i,j]);
      j:=j+1;
 
   end
  until j=16;
 end;
end.
Заранее спасибо))!

Вернуться к обсуждению:
Вывести на экран в виде таблицы по три элемента из каждого упорядоченного массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2011, 16:48
Готовые ответы и решения:

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

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

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

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

2
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.