0 / 0 / 0
Регистрация: 20.03.2016
Сообщений: 4
1
Delphi 6-7

Поменять местами элементы главной и побочной диагоналей

09.02.2018, 11:32. Показов 2089. Ответов 6

Студворк — интернет-сервис помощи студентам
Дана матрица целых чисел размером 4х4 (Элемент StringGrid). Button1: Заполнение матрицы автоматиески - рандом. Button2: Поменять местами элементы главной и побочной диагоналей.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2018, 11:32
Ответы с готовыми решениями:

Поменять местами элементы главной и побочной диагоналей матрицы
Задача 2. Дана матрица целых чисел . Поменять местами элементы главной и побочной диагоналей.

Наибольший элемент среди стоящих на главной и побочной диагоналях поменять местами с элементом, стоящим на пересечении этих диагоналей.
2) В квадратном массиве из n строк, где n- нечетное число, все элементы различны. Наибольший...

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

Массив: Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами со стоящим на пересечении этих диагоналей
Дана действительная,квардратичная матрица порядка n9,все элементы которой различны. Найти...

6
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
09.02.2018, 11:37 2
Цитата Сообщение от LVNVIN Посмотреть сообщение
Поменять местами элементы главной и побочной диагоналей.
Delphi
1
2
3
4
5
6
7
8
9
10
const n=4;
var a:array[1..n,1..n] of integer;
     i,x:integer;
begin
for i:=1 to n do
 begin
  x:=a[i,i];
  a[i,i]:=a[i,n-i+1];
  a[i,n-i+1]:=x;
 end;
Проект надеюсь сделаете сами.
1
0 / 0 / 0
Регистрация: 20.03.2016
Сообщений: 4
09.02.2018, 12:21  [ТС] 3
А можно увидеть как это будет вглядеть в stringgrid-е, пожалуйста, как сделать чтоб брать числа из матрицы стринг грид и туда же их помещать.
0
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
09.02.2018, 12:52 4
Кладете на форму 2 Грида размером 4х4, уберите у них фиксированные строку и столбец.
матрицу объявляете глобально здесь.
Delphi
1
2
3
4
const n=4;
var
  Form1: TForm1;
  a:array[1..n,1..n] of integer;
По событию OnClick первой кнопки создайте исходную матрицу
Delphi
1
2
3
4
5
6
7
randomize;
for i:=1 to n do
for j:=1 to n do
 begin
  a[i,j];=10+random(90);
  StringGrid1.Cells[j-1,i-1]:=a[i,j];//ячейки индексируются от 0, сначала столбец, потом строка
 end;
По событию OnClick второй кнопки делаете обмен, как я написал выше и выводите измененную матрицу
Delphi
1
2
3
for i:=1 to n do
for j:=1 to n do
StringGrid2.Cells[j-1,i-1]:=a[i,j];
Добавлено через 16 минут
Извиняюсь, неправильно написал вывод в таблицы. Нужно так
Delphi
1
StringGrid2.Cells[j-1,i-1]:=inttostr(a[i,j]);
0
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
09.02.2018, 12:53 5
Должно получиться примерно так..
Миниатюры
Поменять местами элементы главной и побочной диагоналей  
0
0 / 0 / 0
Регистрация: 20.03.2016
Сообщений: 4
09.02.2018, 12:58  [ТС] 6
Полуается то так, но можно код procedure TForm1.Button2Click(Sender: TObject);, не получается вывести результат во второй СтригГрид.
0
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
09.02.2018, 12:59 7
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Ширину столбцов изменить в инспекторе объектов, свойство DefaultColWidth, по умолчанию стоит 64, замени на 30.

Добавлено через 43 секунды
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button2Click(Sender: TObject);
var i,j,x:integer;
begin
for i:=1 to n do
 begin
  x:=a[i,i];
  a[i,i]:=a[i,n-i+1];
  a[i,n-i+1]:=x;
 end;
for i:=1 to n do
for j:=1 to n do
StringGrid2.Cells[j-1,i-1]:=inttostr(a[i,j]);
end;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2018, 12:59
Помогаю со студенческими работами здесь

Проверить, равны ли элементы главной и побочной диагоналей матрицы
Дана матрица,заполненная целыми числами, размерностью n*n Проверить, равны ли элементы главной и...

Наибольший элемент среди стоящих на главной и побочной диагоналях поменять местами с элементом
У меня возникли затруднения с написанием следующих кодов в консоли: 1)В двумерном массиве из п...

поменять местами элементы главной и побочной диагоналей
Здравствуйте. Мне нужно поменять местами элементы главной и побочной диагоналей, без выделения...

Поменять местами элементы главной и побочной диагоналей матрицы
помогите пожайлуста. Поменять местами элементы главной и побочной диагоналей матрицы. делал...


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

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

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