Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 1 / 1
Регистрация: 06.10.2011
Сообщений: 81
1

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

15.12.2011, 16:48. Просмотров 531. Ответов 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
2 / 1 / 1
Регистрация: 06.10.2011
Сообщений: 81
17.12.2011, 00:18  [ТС] 2
Мда, чувствуется что страшноватенько оно выглядит
0
2 / 1 / 1
Регистрация: 06.10.2011
Сообщений: 81
19.12.2011, 22:32  [ТС] 3
Как то туповато я его составил.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2011, 22:32

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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