7. Scrieţi un program Pascal care citeşte de la tastatură un număr natural n (1≤n≤6) şi elementele unui tablou bidimensional A cu n linii şi n coloane, care memorează numere naturale nenule mai mici
decât 100, şi afişează pe ecran produsul numerelor “pivot” pentru matricea A.
Un număr natural x este “pivot” pentru matricea A dacă înmulţind fiecare element de pe prima coloană cu numărul x, se obţin, în aceeaşi ordine, elementele unei alte coloane din matrice.
Exemplu: pentru matricea din figura alăturată se afişează 8.
2 7 4 8 4
1 1 2 4 2
3 12 6 12 3
1 22 2 4 2
5 10 10 20 8
#include <iostream>
using namespace std;
int main()
{
int n,i,j,a[6][6],ok;
float rap,p=1;
cout<<„n=”;
cin>>n;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
cout<<„a[„<<i<<„][„<<j<<„]=”;
cin>>a[i][j];
}
for (j=1;j<=n;j++)
{
rap=(float)a[1][j]/a[1][1];
ok=1;
i=2;
while (i<=n&&ok==1)
if (rap==(float)a[i][j]/a[i][1])
i++;
else ok=0;
if (ok==1)
p=p*rap;
}
cout<<p;
return 0;
}
9.Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (1≤n≤100)şi apoi elementele unui tablou bidimensional cu n linii şi n coloane, care memorează numere naturale cu cel mult 9 cifre fiecare; programul afişează pe ecran acele valori din tablou care sunt strict mai mici decât toate elementele cu care se învecinează direct (aflate pe aceeaşi linie dar pe o coloană alăturată sau pe aceeaşi coloană dar pe o linie alăturată), ca în exemplu. Numerele afişate vor fi separate prin câte un spaţiu.
Exemplu: pentru n=4 şi tabloul alăturat se afişează numerele: 2 0 (2 se învecinează direct cu 4, 3, 6 şi 9, şi este mai mic decât acestea, iar 0 se învecinează direct cu 6, 9 şi 1 şi este mai mic decât acestea).
5 4 7 9
6 2 3 4
0 9 8 5
1 3 8 6
#include <iostream>
using namespace std;
int main()
{ int n,i,j,a[101][101];
cout <<„n=”;
cin>>n;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
cout<<„a[„<<i<<„][„<<j<<„]=”;
cin>>a[i][j];
}
//bordam matricea
for (i=0;i<=n+1;i++)
a[0][i]=a[n+1][i]=a[i][0]=a[i][n+1]=999999999;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (a[i][j]<a[i][j-1]&&
a[i][j]<a[i-1][j]&&
a[i][j]<a[i][j+1]&&
a[i][j]<a[i+1][j])
cout<<a[i][j]<<‘ ‘;
return 0;
}