Zadání:
Sestavte program, který nageneruje pole o 15 prvcích hodnotami z intervalu -10..10. Do druhého pole
na pozici kladných čísel z prvního pole umístí hodnotu -1, nulové ponechá
a na pozici kladných vloží hodnotu +1 (funkce signum). Obě pole vytiskne.
Řešení:
Pro jednoduchost budeme generovat hodnoty prvků pole z intervalu -10..+10.
Pomocí cyklu FOR nagenerujeme každou hodnotu prvku pole, vložíme jí na příslušnou pozici a hned otestujeme,
zda je menší, rovno či větší než nula a na základě výsledku do druhého pole vložíme hodnotu -1, 0 nebo +1.
Na konci programu pomocí cyklu FOR obě pole vytiskneme.
#include "stdafx.h"
#include "math.h"
#include
#include
using namespace std;
// 05.05 Nageneruje pole o 15 prvcích z intervalu -10..10. Do druhého pole
// na pozici kladných čísel z prvního pole umístí hodnotu -1, nulové ponechá
// a na pozici kladných vloží hodnotu +1. Obě pole vytiskne
int _tmain(int argc, _TCHAR* argv[])
{
int pole1[15],pole2[15];
int i;
srand(time(NULL));
for (i=0;i<15;i++)
{
pole1[i]=rand()%21-10;
if (pole1[i]<0) pole2[i]=-1;
if (pole1[i]==0) pole2[i]=0;
if (pole1[i]>0) pole2[i]=1;
}
printf("Puvodni pole\n");
for (i=0;i<15;i++) printf("%d ",pole1[i]);
printf("\n");
printf("Upravene pole\n");
for (i=0;i<15;i++) printf("%d ",pole2[i]);
printf("\n");
system("pause");
return 0;
}
program ke stažení