Nhập vào một ma trận n x m, in ra ma trận vừa nhập dưới dạng bảng Sắp xếp hàng 2 theo chiều giá trị các phần tử giảm dần. Đưa ra màn hình tổng các phần tử trong ma trận Tim giá trị lớn nhất trong mảng. Tìm giá trị nhỏ nhất chia hết cho 3 có trong mảng

2 câu trả lời

#include<bits/stdc++.h>
using namespace std;
int main()
{
 int n,m;cin>>n>>m;
 int b[m],t=0,min1=9999999,max1=0,a[n][m];
 for (int i=0;i<n;i++)
 {
  for (int e=0;e<m;e++)
  {
  if (i!=2)cin>>a[i][e];
  else cin>>a[i][e],b[e]=a[i][e];
  if (a[i][e]%3==0) min1=min(min1,a[i][e]);
  t+=a[i][e];
  max1=max(max1,a[i][e]);
  }
 }
 sort(b,b+m,greater<int>());
 for (int i=0;i<n;i++)
 {
  for (int e=0;e<m;e++)
  if (i==2) cout<<b[e]<<" ";
  else cout<<a[i][e];
  cout<<endl;
 }
 cout<<t<<endl<<max1<<endl<<min1;
}

uses crt;
var n,m,k,i,j,x,max,m3,t,s:longint; a:array[1..100000000]of longint;
begin
clrscr;
   write('Nhap n: ');readln(n);
   write('Nhap m: ');readln(m);
   for i:=1 to n do 
      begin
         for j:=1 to m do 
            begin
               inc(k); read(a[k]); 
               inc(s,a[k]);
               if (a[k]>max)or(k=1) then max:=a[k];
               if ((a[k]<m3)and(a[k] mod 3=0))or((m3=0)and(a[k] mod 3=0)) then m3:=a[k];
               for x:=1 to k-1 do 
                  if a[x]>a[k] then begin t:=a[x]; a[x]:=a[k]; a[k]:=t; end; 
            end;
         readln;  
      end;
   writeln('Mang da xap xep: ');
   x:=0;
   for i:=1 to n do 
      begin
         for j:=1 to m do
            begin
               inc(x);
               write(a[x],' '); 
            end;  
         writeln;
      end;
   writeln('Tong cac phan tu: ',s);
   writeln('Tong cac lon nhat: ',max);
   writeln('Tong cac nho nhat chia het cho 3: ',m3);
readln
end.

Câu hỏi trong lớp Xem thêm