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 64 65 66 67 68 69 70 71 72 73 74 75
|
#include <iostream>
#include <fstream>
void input(int& dydis, int matrix[100][100]);
void output(int& n, int& x, int& y);
void calc(int& dydis, int matrix[100][100], int& row, int& col, int& n, int& x, int& y);
int main()
{
int matrix[100][100], dydis, y, x, row, col;
int n = 1000000;
// funkcijų kvietimai
input(dydis, matrix);
calc(dydis, matrix, row, col, n, x, y);
output(n, x, y);
return 0;
}
void input(int& dydis, int matrix[100][100])
{
std::ifstream fd("duomenys.txt"); //įvestis iš duomenys.txt
fd >> dydis;
if(dydis>0){
for (int row = 0; row < dydis; row++)
for (int col = 0; col < dydis; col++)
fd >> matrix[row][col];
}
else{
std::ofstream fr("ats.txt");
fr << "Dydis negali buti maziau arba lygu vienam.";
}
}
void calc(int& dydis, int matrix[100][100], int& row, int& col, int& n, int& x, int& y)
{
while(dydis>0)
{
if(row==dydis-1 && col==dydis-1)
{
for (int row = 0; row < dydis; row++) { // surandami elementai po įstrižaine
for (int col = 0; col < row; col++)
if(n > matrix[row][col]){
n = matrix[row][col]; //randamas mažiausias elementas
x = col+1; // priskiriamos koordinatės
y = row+1;
}
}
}
else{
std::ofstream fr("ats.txt");
fr << "Ivestas nepakankamas arba per didelis kiekis duomenu.";
}
}
}
void output(int& n, int& x, int& y)
{
std::ofstream fr("ats.txt"); //isvestis į ats.txt
fr << "Maziausias elementas po pagrindine istrizaine:\n" << n <<std::endl<<"Koordinatese:\n("<<x<<";"<<y<<")"<<std::endl;
}
|