Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
andyS007
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 44
#1

В матрице M x N переставить столбцы таким образом, чтобы по-лучилась последовательность T1T2…Tn, где Tj – к

10.06.2016, 17:54. Просмотров 167. Ответов 1
Метки нет (Все метки)

В матрице M x N переставить столбцы таким образом, чтобы по-лучилась последовательность T1<=T2<=…<=Tn, где Tj – количество отрицательных элементов в j - ом столбце.
Помогите исправить:
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
program gg;
uses crt;
var
  a:^array[1..20,1..20] of integer;
  t:^array[1..20] of integer;
  n,m,i,j,s,tmp,k: integer;
begin
new(t);
New(a);
  write('Введите размер матрицы=');
  readln(n,m);
  begin
  for i:=1 to n do
 for j:=1 to m do
 end;
  writeln('Исходная матрица:');
  for i:=1 to n do
  begin
    t^[i]:=0;
    for j:=1 to m do
    begin
    write('a[',i,j,']=');
     readln (a^[i,j]);
    end;
    writeln;
    t^[j]:=0;
  end;
  writeln;
  writeln('Кол-во отрицательных элементов');
  for j:=1 to m do
  begin
    for i:=1 to n do
     if a^[i,j]<0 then
     begin
     inc(t^[j]);
     end;
        writeln;
        end;
       for i:=2 to n do
    for j:=n downto i do
      if t^[j-1]>t^[j] then
      begin
        tmp:=t^[j-1];
        t^[j-1]:=t^[j];
        t^[j]:=tmp;
        for k:=1 to m do
        begin
          tmp:=a^[j-1,k];
          a^[j-1,k]:=a^[j,k];
          a^[j,k]:=tmp;
        end;
      end;
      for i:=1 to n do
      begin
     for j:=1 to m do
     write(a^[i,j]:4);
     writeln('kol-vo',t^[j]:4);
    end;
   dispose(t);
 dispose(a);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2016, 17:54
Ответы с готовыми решениями:

Ввести двумерный массив L(N,M) (N10; M15) и выдать его на печать
Ввести двумерный массив L(N,M) (N10; M15) и выдать его на печать. В каждой строке массива...

Дана массив (n), n  20, заполненный случайными числами
Нужно пояснение программы. Пожалуйста uses crt; const NMAX = 20; type tarray = array of...

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

Переставить строки или столбцы матрицы таким образом, чтобы диагональные элементы стали ненулевыми.
Задача: В заданной квадратной матрице значения некоторых диагональных элементов равняются нулю....

Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении k-й строки и k-го столбца.
задана матрица размером M x N. Найти максимальный по модулю элемент матрицы.Переставить строки и...

1
Puporev
Модератор
54354 / 41945 / 28978
Регистрация: 18.05.2008
Сообщений: 98,805
10.06.2016, 18:49 #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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
var a:^array[1..20,1..20] of integer;
    t:^array[1..20] of integer;
    n,m,i,j,k,tmp: integer;
begin
new(t);
New(a);
writeln('Введите размер матрицы=');
readln(n,m);
for i:=1 to n do
for j:=1 to m do
 begin
  write('a[',i,',',j,']=');
  readln(a^[i,j]);
 end;
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  write(' ':8);
  for j:=1 to m do
  write(a^[i,j]:4);
  writeln;
 end;
write('Кол.отр.');
for j:=1 to m do
 begin
  t^[j]:=0;
  for i:=1 to n do
  if a^[i,j]<0 then inc(t^[j]);
  write(t^[j]:4);
 end;
writeln;
for k:=1 to m-1 do
for i:=k+1 to m do
if t^[k]>t^[i] then
 begin
  for j:=1 to n do
   begin
    tmp:=a^[j,k];
    a^[j,k]:=a^[j,i];
    a^[j,i]:=tmp;
   end;
  tmp:=t^[k];
  t^[k]:=t^[i];
  t^[i]:=tmp;
 end;
 writeln('Преобразованная матрица');
for i:=1 to n do
 begin
  write(' ':8);
  for j:=1 to m do
  write(a^[i,j]:4);
  writeln;
 end;
write('Кол.отр.');
for j:=1 to m do
write(t^[j]:4);
dispose(t);
dispose(a);
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2016, 18:49

Переставить цифры числа таким образом, чтобы получилось минимальное возможное число без ведущих нулей
Дано натуральное число n. Необходимо переставить его цифры таким образом, чтобы получилось...

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

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


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

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

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