М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
mssalina5
mssalina5
04.11.2021 17:40 •  Информатика

Дана матрица, среди отрицательных элементов найти максимальный, а среди положительный минимальный и поменять их местами c++ код есть, но он работает частично
#include
#include
using namespace std;

int main() {
setlocale (LC_ALL, "Russian");
int max, min, imax, jmax, imin, jmin, n, m, i, j, swap;
cout << "Введите размер матрицы: ""\n";
cin >> n >> m;
int** a = new int* [n];
cout << "Заполните матрицу: ""\n";
for (int i=0; i >a[i][j];
}
}
max = 0;
min = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (a[i][j] > max) {
max = a[i][j];
imax = i;
jmax = j;
}
else {
if (a[i][j] < min) {
min = a[i][j];
imin = i;
jmin = j;
}
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if ((a[i][j] < max) && (a[i][j] > 0)) {
min = a[i][j];
imin = i;
jmin = j;
}
else {
if ((a[i][j] > min) && (a[i][j] < 0)) {
min = a[i][j];
imax= i;
jmax = j;
}
}
}
}
a[jmax][imax] = swap;
a[jmax][imax] = a[jmin][imin];
a[jmin][imin] = swap;
cout << a[i][j];
}

👇
Ответ:
Matin11
Matin11
04.11.2021

or (int i = 0; i < n; i++) {

for (int j = 0; j < m; j++) {

if (a[i][j] > max) {

max = a[i][j];

imax = i;

jmax = j;

}

else {

if (a[i][j] < min) {

min = a[i][j];

imin = i;

jmin = j;

}

}

}

}

for (int i = 0; i < n; i++) {

for (int j = 0; j < m; j++) {

if ((a[i][j] < max) && (a[i][j] > 0)) {

min = a[i][j];

imin = i;

jmin = j;

}

else {

if ((a[i][j] > min) && (a[i][j] < 0)) {

min = a[i][j];

imax= i;

jmax = j;

}

}

}

}

a[jmax][imax] = swap;

a[jmax][imax] = a[jmin][imin];

a[jmin][imin

4,5(66 оценок)
Открыть все ответы
Ответ:
SeenL
SeenL
04.11.2021
:D 
Ну го Ничего если  на паскале напишу ? 
uses crt;
var  a:array[1..50] of integer ;i,j,n,x,t,k:integer;b:string;
begin
read(n);     
for i:= 1 to n do     
begin     
a[i]:=random(15);     
write(a[i],' ');     
end;     
writeln;     
for i:= 1 to n-1 do     
for j:= i+1 to n do     
if a[i]> a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;     
for i:= 1 to n do     
write(a[i],' ');     
writeln;     
read(x);     
for i:= 1 to n do     
 if a[i] = x then k:=k+1;     
 str(k,b);     
n:=length(b);     
 if k in  [11..19] then write (k,' раз') else     
 if k = 0 then  write('число ',x,' не встречается ')else     
case b[n] of     
 '0','1','5','6','7','8','9': write (k,' раз');     
 '3','4','2': write (k,' раза') ;     
end;
end.
4,7(22 оценок)
Ответ:
Дуся003
Дуся003
04.11.2021
Const n=20;
var a:array[1..n] of integer;
i,j,t,i1,i2,x:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
  a[i]:=Random(15);
  Write(a[i],' ')
end;
Writeln;
for i:=1 to n-1 do
  for j:=1 to n-i do
    if a[j]>a[j+1] then
    begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
write('x = '); readln(x);
i1:=1; i2:=n;
repeat
i:=(i1+i2) div 2;
if a[i]<x then i1:=(i1+i2) div 2+1;
if a[i]>x then i2:=(i1+i2) div 2-1;
until (a[i]=x)or(i1>i2);
if a[i]=x then 
 begin
 while (i>0)and(a[i]=x) do i:=i-1;
 i:=i+1; j:=i;
 while (i<=n)and(a[i]=x) do i:=i+1;
 writeln('Число ',x,' встречается ',i-j,' раз(а)');
 end
 else writeln('Число ',x,' не встречается');
writeln;
end.

Пример:
Исходный массив:
4 13 5 3 14 12 12 8 9 6 3 2 4 4 14 1 12 2 5 9 
Отсортированный массив:
1 2 2 3 3 4 4 4 5 5 6 8 9 9 12 12 12 13 14 14 
x = 5
Число 5 встречается 2 раз(а)
4,5(67 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ