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

В каждой строке матрицы расставить по возрастанию только положительные элементы

25.11.2012, 14:56. Показов 761. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В массиве 8x8 вещественного типа,в каждой строке расставить по возрастанию только положительные элементы.
Задачку написал,но работает неправильно,помогите найти ошибку

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
program massiv;
uses crt;
const n=8;
var
  a:array[1..n,1..n] of real;
  k,i,j,s,b:integer;
  p:boolean;
  x,z:real;
begin
  randomize;
  for i:=1 to n do
    begin
      if i>1 then writeln;
      for j:=1 to n do begin
      a[i,j]:=random*200-100;
      write(a[i,j]:8:3);
      end end;
      writeln;
      writeln;
      for i:=1 to n do begin
      for j:=1 to n do begin
      if (j>=0) and (i>=0) then begin
      x:= a[i,1];s:=1;end;
      if a[i,j]>x then begin
      x:=a[i,j];s:=j end;end;
      writeln(i,' ',s,' =',x:5:2);
      if s<(n-1) then begin repeat
      P:=true;
      for b:=s+1 to n do begin
if a[i,b]> a[i,b-1] then
begin
z:=a[i,b]; a[i,b]:=a[i,b-1]; a[i,b-1]:=z;
p:=false;
end end
until p;
end end;
for i:=1 to n do
begin
if i>1 then writeln;
for j:=1 to n do
write(a[i,j]:8:3);
end; end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2012, 14:56
Ответы с готовыми решениями:

В массиве из 15 элементов целого типа расставить по возрастанию только положительные
В массиве из 15 элементов целого типа расставить по возрастанию только положительные

Отсортируйте элементы матрицы в каждой строке по возрастанию
Отсортируйте элементы матрицы в каждой строке по возрастанию. Надо составить программу

Переставить элементы в каждой строке матрицы по возрастанию
Люди, помогите! Завтра зачет, а я не знаю,как решить 2 задачи. Заранее благодарна! 1. В матрице...

Упорядочить элементы в каждой строке матрицы по возрастанию.
Дан двумерный массив n*m. Упорядочить элементы в каждой строке по возрастанию. В получившемся...

3
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.11.2012, 15:43 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
uses crt;
const n=8;
var  a:array[1..n,1..n] of real;
     i,j,k:integer;
     x:real;
begin
randomize;
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random*200-100;
    write(a[i,j]:8:3);
   end;
  writeln;
 end;
for i:=1 to n do
for j:=1 to n-1 do
for k:=j+1 to n do
if(a[i,j]>0)and(a[i,k]>0)and(a[i,j]>a[i,k]) then
 begin
  x:=a[i,j];
  a[i,j]:=a[i,k];
  a[i,k]:=x;
 end;
writeln('Сортировка положительных элементов строк:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:8:3);
  writeln;
 end;
end.
2
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
25.11.2012, 16:02 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 massiv;
uses crt;
const n=8;
var
  a:array[1..n,1..n] of real;
  k,i,j,p:integer;
  x,z:real;
procedure pr;
  begin
    for i:=1 to n do begin
     for j:=1 to n do write(a[i,j]:8:3);
      writeln;
    end;
  end;
begin
  randomize;
  for i:=1 to n do
      for j:=1 to n do
         a[i,j]:=random*201-100;
pr;
      writeln;writeln;
 
      for i:=1 to n do begin
        p:=0;
          for j:=1 to n do if a[i,j]>0  then p:=p+1;
          if p>1 then
                   for j:=1 to n-1 do
                     for k:=j+1 to n do
                      if  (a[i,k]>0) and (a[i,k]<a[i,j]) then begin
                        z:=a[i,k]; a[i,k]:=a[i,j]; a[i,j]:=z;
                      end;
 
      end;
      
 pr;
end.
2
0 / 0 / 2
Регистрация: 14.11.2012
Сообщений: 12
25.11.2012, 19:46  [ТС] 4
весьма благодарен,Все работает
0
25.11.2012, 19:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2012, 19:46
Помогаю со студенческими работами здесь

27. Отсортируйте элементы матрицы в каждой строке по возрастанию
27. Отсортируйте элементы матрицы в каждой строке по возрастанию.

В каждой строке матрицы разместить сначала положительные элементы, а за ними - все остальные
помогите из заданием а то заплутался в матрице, через функцию void matr(); В каждой строке...

Упорядочить элементы в каждой строке динамической матрицы по возрастанию значений элементов
По запросу пользователя создать двухмерный динамический массив, состоящий из символьных типов....

Рассортировать по возрастанию только положительные числа в каждой компоненте
Создать файл, где компонентой будет массив из N чисел. Рассортировать по возрастанию только...


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

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