0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 19
1

сортировка массивов

15.06.2010, 07:00. Показов 746. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
дана квадратная матрица N*M, состоящая из натуральных чисел. зеркально отразить ее элементы относительно горизонтальной оси симметрии и вывести результат на экран.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2010, 07:00
Ответы с готовыми решениями:

программы усложненной структуры, обработка двухмерных массивов, использование стандартных функций для работы с массивами, сортировка массивов.
Искала задачи, нашла в с++, а нужно в паскале сотворить следующее. Использование стандартных...

Сортировка массивов. Сортировка выбором
Помогите пожалуйста, я что-то совсем запуталась при составлении данной программы... Сортировка...

Сортировка массивов
В городе имеется m банков. Известны величины задолженностей банков друг другу. Расположить...

Сортировка массивов
Для значений i=1,2,...,n вычислить число сочетаний из n по i и занести результаты в массив с=(с1,...

11
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.06.2010, 09:16 2
Цитата Сообщение от lubitel Посмотреть сообщение
дана квадратная матрица N*M,
Она точно квадратная? Для отражения по горизонтальной оси это совсем не обязательно.
0
0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 19
15.06.2010, 09:35  [ТС] 3
Данная матрица является квадратной.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.06.2010, 09:38 4
Просто квадратная матрица обозначается N*N
0
0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 19
15.06.2010, 09:40  [ТС] 5
а если значению M присвоить значение N...или наоборот...
0
654 / 352 / 113
Регистрация: 11.12.2009
Сообщений: 508
15.06.2010, 09:45 6
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
var
   a:array[1..10,1..10] of integer;
   i,j,r,n:integer;
begin
 readln(n);
 randomize;
 writeln('Ìàòðèöà');
 for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     a[i,j]:=random(51);
     write(a[i,j]:4);
    end;
   writeln;
  end;
 writeln('Íîâàÿ ìàòðèöà');
 for i:=1 to n div 2 do
  for j:=1 to n do
   begin
    r:=a[i,j];
    a[i,j]:=a[n-i+1,j];
    a[n-i+1,j]:=r;
   end;
 for i:=1 to n do
  begin
   for j:=1 to n do
    write(a[i,j]:4);
   writeln;
  end;
 readln
end.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.06.2010, 09:46 7
тоже для N*M

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
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,m,i,j:byte;
    x:integer;
begin
clrscr;
repeat
write('Размер матрицы=');
readln(n);
until n in [1..nmax];
m:=n;
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to m do
    begin
     a[i,j]:=10*i+j;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
for j:=1 to m do
for i:=1 to n div 2 do
 begin
  x:=a[i,j];
  a[i,j]:=a[n-i+1,j];
  a[n-i+1,j]:=x;
 end;
writeln('Зеркальное отражение по горизонтальной оси:');
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:4);
  writeln;
 end;
readln
end.
1
Unrealler
15.06.2010, 09:48
  #8

Не по теме:

Тьфу! Сделал для вертикальной

0
0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 19
15.06.2010, 09:56  [ТС] 9
а можно создать программу без const nmax=20? тот есть неизвестное значение и чтобы его вводить с клавиатуры?
0
654 / 352 / 113
Регистрация: 11.12.2009
Сообщений: 508
15.06.2010, 09:59 10
это и так неизвестная величина (см. 10 строку). А nmax можно и убрать:
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
uses crt;
var a:array[1..nmax,1..nmax] of integer;
    n,m,i,j:byte;
    x:integer;
begin
clrscr;
write('Размер матрицы=');
readln(n);
m:=n;
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to m do
    begin
     a[i,j]:=10*i+j;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
for j:=1 to m do
for i:=1 to n div 2 do
 begin
  x:=a[i,j];
  a[i,j]:=a[n-i+1,j];
  a[n-i+1,j]:=x;
 end;
writeln('Зеркальное отражение по горизонтальной оси:');
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:4);
  writeln;
 end;
readln
end.
1
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.06.2010, 10:01 11
lubitel, Мозг включи. Здесь что написано

Pascal
1
2
3
4
repeat
write('Размер матрицы=');
readln(n);
until n in [1..nmax];
Это и есть ввод с клавиатуры, а максимальный размер матрицы сделан чтобы ты не ввел типа n=50000
мало 20, напиши 50.

Добавлено через 51 секунду
Цитата Сообщение от Unrealler Посмотреть сообщение
А nmax можно и убрать:
тогда это будет ошибка
Pascal
1
var a:array[1..nmax,1..nmax] of integer;
0
654 / 352 / 113
Регистрация: 11.12.2009
Сообщений: 508
15.06.2010, 10:02 12
Цитата Сообщение от Puporev Посмотреть сообщение
тогда это будет ошибка
недоглядел
0
15.06.2010, 10:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2010, 10:02
Помогаю со студенческими работами здесь

Сортировка массивов
Даны целые числа а1,а2,...аn.Получить в пордке возрастания все различные числа,входящие в...

Сортировка массивов
Дан одномерный массив массив. Получить из него второй массив содержащий только четные элементы...

Сортировка массивов
Я вообще не понимаю как сортировать массивы,приведи те кто-нибудь пример сортировки самым простым...

сортировка массивов
сформировать одномерный массив, состоящий из положительных элементов, заданной квадратной...


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

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

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