Форум программистов, компьютерный форум CyberForum.ru

В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++) - C++

Восстановить пароль Регистрация
 
HondaUS
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 100
10.01.2014, 15:05     В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++) #1
В заданной матрице D найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно. Исходную и полученную матрицу вывести в общепринятом виде.

Вот как выглядит в Pascale, нужно перекодировать и сделать в visual С++. Помогите пожалуйста.

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
uses crt;
var d: array [1..100,1..100] of integer;
n,i,j,max,min,imax,imin,jmax,jmin,buf: integer;
begin
write('Размер матрицы ');
readln(n);
writeln('Исходная матрица');
for i:=1 to n do
begin
for j:=1 to n do
begin
d[i,j]:=random(201)-100;
write(d[i,j]:4);
end;
writeln;
end;
max:=d[1,1]; min:=d[1,1];
jmax:=1; jmin:=1;
imax:=1; imin:=1;
writeln;
for i:=1 to n do
for j:=1 to n do
begin
if d[i,j]>max then
begin
max:=d[i,j]; jmax:=j; imax:=i;
end;
if d[i,j]<min then
begin
min:=d[i,j]; jmin:=j; imin:=i;
end;
end;
buf:=d[1,1]; d[1,1]:=d[imax,jmax]; d[imax,jmax]:=d[1,1];
buf:=d[n,n]; d[n,n]:=d[imin,jmin]; d[imin,jmin]:=d[n,n];
writeln('Максимальный элемент =',max:4,' в ',imax,' строке ',jmax,' столбце');
writeln('Минимальный элемент =',min:4,' в ',imin,' строке ',jmin,' столбце');
writeln('Итоговая матрица');
for i:=1 to n do
begin
for j:=1 to n do
write(d[i,j]:4);
writeln;
end;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 15:05     В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++)
Посмотрите здесь:

Матрицы: найти наибольший и наименьший элементы и поменять их местами C++
В матрице A(n×m) найти максимальный элемент и путем перестановки строк и столбцов поместить его на место элемента a 00 C++
C++ Выбрать наибольший и наименьший элементы в матрице
C++ Найти наибольший и наименьший элементы каждой строки прямоугольной матрицы и поменять их местами
C++ Матрицы. Поменять местами наибольший и наименьший элементы
C++ наибольший и наименьший элементы матрицы
C++ Найдите наименьший и наибольший элементы матрицы и подсчитайте их полусумму
C++ Как присвоить нужному элементу в матрице значение первого или последнего элемента?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StailGot
27 / 22 / 6
Регистрация: 25.08.2013
Сообщений: 41
10.01.2014, 18:28     В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++) #2
C++ (Qt)
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
62
63
#include <iostream>
#include <array>
#include <iomanip>
#include <locale>
 
#define w( val ) std::setw( val ) <<
#define write( val ) std::cout << val
#define writeln( val ) std::cout << val << std::endl
#define writeline std::cout << std::endl
 
#define begin {
#define Begin int main(){
#define end }
#define readln( val ) std::cin >> ( val )
#define readkey std::cin.get()
auto _ = setlocale( LC_ALL, "RU" );
 
std::array<std::array<int, 100>, 100> d;
int n, i, j, max, min, imax, imin, jmax, jmin, buf;
 
Begin
write( "Размер матрицы " );
readln( n );
writeln( "Исходная матрица" );
for (i = 1; i <= n; ++i )
  begin
  for (j = 1; j <= n; ++j )
    begin
    d[i][j] = rand() % 100;
write( w(4)d[i][j] );
end;
writeline;
end;
max = d[1][1]; min = d[1][1];
jmax = 1; jmin = 1;
imax = 1; imin = 1;
writeline;
for (i = 1; i <= n; ++i )
  for (j = 1; j <= n; ++j )
    begin
    if ( d[i][j] > max )
      begin
      max = d[i][j]; jmax = j; imax = i;
end;
if ( d[i][j] < min )
  begin
  min = d[i][j]; jmin = j; imin = i;
end;
end;
buf = d[1][1]; d[1][1] = d[imax][jmax]; d[imax][jmax] = d[1][1];
buf = d[n][n]; d[n][n] = d[imin][jmin]; d[imin][jmin] = d[n][n];
writeln( "Максимальный элемент =" << w(4)max << " в " << imax << " строке " << jmax << " столбце" );
writeln( "Минимальный элемент =" << w(4)min << " в " << imin << " строке " << jmin << " столбце" );
writeln( "Итоговая матрица" );
for (i = 1; i <= n; ++i )
  begin
  for (j = 1; j <= n; ++j )
    write( w(4)d[i][j] );
writeline;
end;
readkey;
readkey;
end
HondaUS
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 100
10.01.2014, 20:14  [ТС]     В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++) #3
Спасибо за решенную задачу, есть вопрос, не могли бы вы попроще решить данную задачу.
если взять просто visual C++ как бы говоря для новичков.
Или подписать \\ через такой символ, что делал, то есть подробно объяснить. А так буду благодарен!
Yandex
Объявления
10.01.2014, 20:14     В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++)
Ответ Создать тему
Опции темы

Текущее время: 00:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru