const N=5;
var i,j,max,sum,i1,j1:integer;
a:array [1..N,1..N] of integer;
st:boolean;
begin
sum:=0; max:=0; i1:=0; j1:=0;
st:=false;
randomize;
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(31)-10;
write(a[i,j]:4);
if st = false then
max:=a[i,j];
st:=true;
end
else
if a[i,j]>max then
if a[i,j]>0 then
i1:=i;
j1:=j;
end;
writeln;
for i:=1 to i1-1 do
sum:=sum+a[i,j];
for j:=1 to j1-1 do
sum:=sum+a[i+1,j];
writeln('MAX: ',max);
writeln('SUM: ',sum)
end.
Объяснение:
#include <iostream>
#include <cmath>
#include <algorithm>
int main() {
const double eps = 1e-7; //для сравнения с нулём вещественных чисел
/*Коэффициенты системы уравнений будем хранить в матрице 2*3
Система уравнений вида
a1*x1+b1*x2=c1,
a2*x1+b2*x2=c2
в двумерном массиве будет храниться так:
{{a1, b1, c1},
{a2, b2, c2}}
*/
double **m = new double*[2];
for(int i = 0; i < 2; i++){
m[i] = new double[3];
}
std::cout << "Input a, b, c for " << i + 1 << " equation:\n";
for(int j = 0; j < 3; j++){
std::cin >> m[i][j];
/*
Решить систему можно методом Крамера:
det = a1*b2-a2*b1
det1 = c1*b2-c2*b1
det2 = a1*c2-a2*c1
x1 = det1/det
x2 = det2 / det
double det = m[0][0] * m[1][1] - m[1][0] * m[0][1];
double det1 = m[0][2] * m[1][1] - m[1][2] * m[0][1];
double det2 = m[0][0] * m[1][2] - m[1][0] * m[0][2];
if (std::abs(det) < 1e-7){
if (std::abs(det1) < 1e-7){
std::cout << "Infinity solutions\n";
else{
std::cout << "No solution\n";
double x1 = det1 / det;
double x2 = det2 / det;
std::cout << "x1 = " << x1 << std::endl;
std::cout << "x2 = " << x2 << std::endl;
//Освобождение выделенной динамической памяти
delete []m[i];
delete []m;
return 0;
const N=5;
var i,j,max,sum,i1,j1:integer;
a:array [1..N,1..N] of integer;
st:boolean;
begin
sum:=0; max:=0; i1:=0; j1:=0;
st:=false;
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(31)-10;
write(a[i,j]:4);
if st = false then
begin
max:=a[i,j];
st:=true;
end
else
if a[i,j]>max then
max:=a[i,j];
if a[i,j]>0 then
begin
i1:=i;
j1:=j;
end;
end;
writeln;
end;
writeln;
for i:=1 to i1-1 do
for j:=1 to n do
sum:=sum+a[i,j];
for j:=1 to j1-1 do
sum:=sum+a[i+1,j];
writeln('MAX: ',max);
writeln('SUM: ',sum)
end.
Объяснение:
#include <iostream>
#include <cmath>
#include <algorithm>
int main() {
const double eps = 1e-7; //для сравнения с нулём вещественных чисел
/*Коэффициенты системы уравнений будем хранить в матрице 2*3
Система уравнений вида
a1*x1+b1*x2=c1,
a2*x1+b2*x2=c2
в двумерном массиве будет храниться так:
{{a1, b1, c1},
{a2, b2, c2}}
*/
double **m = new double*[2];
for(int i = 0; i < 2; i++){
m[i] = new double[3];
}
for(int i = 0; i < 2; i++){
std::cout << "Input a, b, c for " << i + 1 << " equation:\n";
for(int j = 0; j < 3; j++){
std::cin >> m[i][j];
}
}
/*
Решить систему можно методом Крамера:
det = a1*b2-a2*b1
det1 = c1*b2-c2*b1
det2 = a1*c2-a2*c1
x1 = det1/det
x2 = det2 / det
*/
double det = m[0][0] * m[1][1] - m[1][0] * m[0][1];
double det1 = m[0][2] * m[1][1] - m[1][2] * m[0][1];
double det2 = m[0][0] * m[1][2] - m[1][0] * m[0][2];
if (std::abs(det) < 1e-7){
if (std::abs(det1) < 1e-7){
std::cout << "Infinity solutions\n";
}
else{
std::cout << "No solution\n";
}
}
else{
double x1 = det1 / det;
double x2 = det2 / det;
std::cout << "x1 = " << x1 << std::endl;
std::cout << "x2 = " << x2 << std::endl;
}
//Освобождение выделенной динамической памяти
for(int i = 0; i < 2; i++){
delete []m[i];
}
delete []m;
return 0;
}