Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
sid95
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 7
#1

В каждом столбце матрицы D[N,M] нулевые элементы переставить в начало столбца - Turbo Pascal

11.12.2013, 20:50. Просмотров 366. Ответов 3
Метки нет (Все метки)

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

Добавлено через 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
Program massiv;
const N=10;
const M=10;
var D:array [1..N,1..M] of real;
f,b,i,j:integer;
c:real;
flag:boolean;
begin
write('vvedite razmernost massiva f-b');
readln(f,b);
for i:=1 to f do
for j:=1 to b do
readln(D[i,j]);
for j:=1 to b do
repeat flag:=true;
for i:=1 to f-1 do
if (D[i,j]<>0) and (D[i+1,j]=0) then
begin
c:=D[i,j];
D[i,j]:=D[i+1,j];
D[j+1,j]:=c;
flag:=false;
end;
until flag;
for i:=1 to f do begin
for j:=1 to b do
write (D[i,j]:3:2);
writeln;
end;
end.
У меня так получилось, но программа выводит неправильный результат
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 20:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В каждом столбце матрицы D[N,M] нулевые элементы переставить в начало столбца (Turbo Pascal):

В каждом столбце матрицы D(8,10) заменить нулевые элементы суммой элементов данного столбца - Turbo Pascal
Привет, столкнулся с такой проблемой: &quot;В каждом столбце матрицы D(8,10) заменить нулевые элементы суммой элементов данного столбца.&quot; ...

В каждом столбце матрицы максимальный элемент столбца переставить с первым элементом столбца. - Turbo Pascal
В задание — автоматическое заполнение по формуле: . Дана квадратная матрица A(nхn). В каждом столбце максимальный элемент столбца...

Переставить столбцы по возрастанию сумм чисел в каждом столбце матрицы - Turbo Pascal
B матрице С переставить столбцы по возрастанию сумм чисел в каждом столбце матрицы. Препод говорила что надосоздать циклы... где во...

В матрице переставить столбцы по возрастанию сумм чисел в каждом столбце матрицы - Turbo Pascal
в матрице c переставить столбцы по возрастанию сумм чисел в каждом столбце матрицы

Модуль: Переставить в каждом столбце прямоугольной матрицы все отрицательные элементы в конец столбца - Pascal
Разместить все процедуры и функции в одном модуле и каждую подпрограмму поместить в отдльный модуль. Переставить в каждом...

Определить максимальный элемент в каждом столбце матрицы и поменять с первым элементом столбца - Turbo Pascal
3.Дана матрица вещественных чисел размерностью MxН определить максимальный элемент в каждом столбце матрицы и поменять местами с первых...

3
sid95
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 7
29.12.2013, 00:09  [ТС] #2
Вот по другому, но все равно не то получается
Код
Program matr;
const N=10;
const M=10;
var D:array [1..N,1..M] of real;
i,j,k:integer;l:real;

begin
randomize;

for i:=1 to n do begin
 for j:=1 to m do begin
   D[i,j]:=random(5);
 
   if d[i,j]=0 then
    for k:=i-1 downto 1 do begin
      l:=d[k+1,j];
      d[k,j]:=d[k+1,j];
      d[k,j]:=l;
    end;
end;
end;

 for i:=1 to n do begin
 for j:=1 to m do begin
   write(D[i,j]:5:2);
end; writeln;
end;
end.
0
Cyborg Drone
Модератор
4836 / 3005 / 1209
Регистрация: 17.08.2012
Сообщений: 9,633
29.12.2013, 02:12 #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
Program matr;
 
const N = 10;
const M = 10;
 
var d: array [1..N, 1..M] of integer;
    i, j, k, t: integer;
 
begin
  randomize;
  writeln('Source array:');
  for i := 1 to n do
    begin
      for j := 1 to m do
        begin
          d[i,j] := random(5);
          write(d[i, j]:2)
        end;
      writeln
    end;
  for j := 1 to n do
    for i := 1 to n do
      if d[i, j] = 0
        then
          begin
            for k := i downto 2 do d[k, j] := d[k - 1, j];
            d[1, j] := 0
          end;
  writeln('Result array:');
  for i := 1 to n do
    begin
      for j := 1 to m do write(d[i,j]:2);
      writeln
    end;
  readln
end.
1
sid95
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 7
29.12.2013, 13:39  [ТС] #4
большое спасибо!
0
29.12.2013, 13:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2013, 13:39
Привет! Вот еще темы с ответами:

Найти элементы в каждом столбце матрицы - Turbo Pascal
Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньшие числа С. Определить количество таких элементов....

Найти в каждом столбце матрицы max и min элементы матрицы и вывести новую матрицу на экран - Pascal
S (3,3) найти в каждом столбце матрицы max и min элементы матрицы и вывести новую матрицу на экран

30. Отсортируйте элементы матрицы в каждом столбце по убыванию - Turbo Pascal
30. Отсортируйте элементы матрицы в каждом столбце по убыванию.

В каждом столбце матрицы минимальный элемент нужно заменить суммой положительных элементов этого столбца - Turbo Pascal
Заданная матрица A ( m,n) в каждом столбце которой минимальный элемент нужно заменить суммой положительных элементов этого столбца. Как...


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

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

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