Informatică, întrebare adresată de iuliann1314, 8 ani în urmă

Se dă o matrice cu n linii și m coloane nr. Naturale. Se cere :
a) câte elemente prime sunt pe conturul matricii.
b) afișați elementele din matrice care sunt precedate de un număr prim​.

Răspunsuri la întrebare

Răspuns de fatman195322
0

#include <iostream>

using namespace std;

int main()

{

int mat[15][20], i, j, n, m, nrcontur = 0, d, nrdiv;

bool ok = 0;

cout<<"Nr. de linii: "; cin>>n;

cout<<"Nr. de coloane: "; cin>>m;

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

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

      cin>>mat[i][j];

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

  {

  d = 2;

  nrdiv = 1;

  while (mat[0][j] >= d)

      {

      if (mat[0][j] % d == 0)

         nrdiv++;

      d++;

      }

  if (nrdiv == 2)

   nrcontur++;

  }

for (i=1; i<n; i++)

  {

  d = 2;

  nrdiv = 1;

  while (mat[i][m-1] >= d)

      {

      if (mat[i][m-1] % d == 0)

         nrdiv++;

      d++;

      }

  if (nrdiv == 2)

   nrcontur++;

  }

for (j=0; j<m-1; j++)

  {

  d = 2;

  nrdiv = 1;

  while (mat[n-1][j] >= d)

      {

      if (mat[n-1][j] % d == 0)

         nrdiv++;

      d++;

      }

  if (nrdiv == 2)

   nrcontur++;

  }

for (i=n-2; i >= 1; i--)

  {

  d = 2;

  nrdiv = 1;

  while (mat[i][0] >= d)

      {

      if (mat[i][0] % d == 0)

         nrdiv++;

      d++;

      }

  if (nrdiv == 2)

   nrcontur++;

  }

cout<<"Nr. elem. prime de pe contur: "<<nrcontur;

cout<<endl<<"Elementele precedate de un nr. prim: ";

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

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

          {

          d = 2;

          nrdiv = 1;

          while (mat[i][j] >= d)

            {

             if (mat[i][j] % d == 0)

                  nrdiv++;

             d++;

            }

          if (nrdiv == 2)

              {

              if (j == m-1 && ok == 0)

                 cout<<mat[i+1][0]<<' ';

              else

                 cout<<mat[i][j+1]<<' ';

              }

          if (ok == 0)

             if (i == n-1)

              {

              m--;

             ok = 1;

             }

           }

return 0;

}

Alte întrebări interesante