Zadání:
Sestavte program, který nalezne v poli náhodných čísel zadanou hodnotu a vypíše její pozice
Řešení:
Pro jednoduchost vyřešíme program na poli o 20 prvcích z intervalu 1..10.
Pomocí prvního cyklu FOR pro proměnnou i nagenerujeme 20 hodnot z intervalu 1..10, vložíme je do pole na příslušné
pozice a zároveň je vytiskneme. V druhém cyklu FOR zkontrolujeme, zda hodnota na pozici i
odpovídá hledané
hodnotě. Pokud ano, pozici vytiskneme.
#include "stdafx.h"
#include "math.h"
#include
#include
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int pole[20];
int i,h;
srand((int)time(NULL));
printf("Zadejte hledanou hodnotu: ");
scanf_s("%d",&h,1);
printf("Pole:\n");
for (i=0;i<20;i++)
{
pole[i]=rand()%10+1;
printf("%d ",pole[i]);
}
printf("\nHledane pozice: ");
for (i=0;i<20;i++) if (pole[i]==h) printf("%d ",i+1);
printf("\n");
system("pause");
return 0;
}
program ke stažení
Pro studenty:
Generátor náhodných čísel musíme zinicializovat příkazem srand((int)time(NULL)), jinak by program tisknul pokaždé stejný výsledek.