Zadání:
Sestavte program, který nageneruje čtvercové pole NxN náhodných čísel a vypočte počet sudých čísel na hlavní a vedlejší diagonále.
Řešení:
Jelikož testujeme hlavní a vedlejší diagonálu ve čtvercovém poli, nemusíme při tomto
testu používat dva vnořené
cykly FOR, stačí pouze jeden. Prvky na hlavní diagonále mají pozici
(i,i) a prvky na vedlejší diagonále (i,n+1-i).
#include "stdafx.h"
#include "math.h"
#include
#include
#include
using namespace std;
// 06.04 Nageneruje čtvercové pole NxN náhodných čísel a vypočte počet sudých
// čísel na hlavní a vedlejší diagonále
int _tmain(int argc, _TCHAR* argv[])
{
int pole[100][100];
int n,i,j,poceth,pocetv;
srand((int)time(NULL));
printf("Zadejte rozmer pole: ");
scanf_s("%d",&n,1);
for (i=0;i<n;i++)
for (j=0;j<n;j++)
pole[i][j]=rand()%100;
poceth=0;
pocetv=0;
for (i=0;i<n;i++)
{
if (pole[i][i]%2==0) poceth++;
if (pole[i][n+1-i]%2==0) pocetv++;
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++) printf("%3d",pole[i][j]);
printf("\n");
}
printf("Pocet sudych cisel na hlavni diagonale: %d\n",poceth);
printf("Pocet sudych cisel na vedlejsi diagonale: %d\n\n",pocetv);
system("pause");
return 0;
}
program ke stažení