Navigace: Hlavní stránka -> Jazyk C -> 05 Jednorozměrná pole -> 05.05 Aplikace funkce signum na pole a naplnění výsledkem druhého pole

MENU

05.05 Aplikace funkce signum na pole a naplnění výsledkem druhého pole

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í