Hogyan lehetne kizárni, hogy egy szám kétszer előforduljon?
Ha a sorsolás eredményét tömbben tároljuk, a kihúzott számot összehasonlíthatjuk az előzőkkel.
Szimuláljunk 5-ös lottó sorsolást.
Az eddig meg is van,hogy szimulálja le,
de sajnos egy szám többször is előfordul benne.
Nos épp ezt kéne kizárni.
Egy szám csak egyszer fordulhasson elő.
vagy
namespace otoslotto
{
class Program
{
static void Main(string[] args)
{
Random m = new Random();
int[] x = new int[5];
Console.WriteLine("A nyertes számok: ");
for (int i = 0; i < x.Length; i++)
{
{
x = (int)(m.Next(90) + 1);
Console.WriteLine(x);
}
}
foreach (int e in x)
Console.ReadLine();
}
}
}
--------------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 90
/* Osszehasonlito fuggveny egesz tomb rendezesehez. */
int intcmp(const void *a1, const void *a2) {
int i1 = *((int *) a1), i2 = *((int *) a2);
return i1 < i2 ? -1 : (i1 > i2 ? 1 : 0);
}
int main() {
int n; // sorsolasok szama
printf("Hany szamot sorsoljak? ");
scanf("%d", &n);
srand(time(0)); // veletlenszam generator inicializalasa
int r[N]; // a lehetseges lottoszamokat tartalamzo tomb
for (int i = 0; i < N; i++) { r[i] = i + 1; }
// sorsolas
for (int i = 0; i < n; i++) {
int j = i + rand() % (N - i);
// a kisorsolt szam elore (i. pozicioba) mozgatasa
int tmp = r[j];
r[j] = r[i];
r[i] = tmp;
}
qsort(r, n, sizeof(int), intcmp); // rendezes
// kiiras
printf("A szamok emelkedo sorrendben a kovetkezok:\n");
for (int i = 0; i < n; i++) { printf("%d ", r[i]); }
printf("\n");
return 0;
}
------------
A folyamatábra alakzatainak jelentése
Az Egyszerű folyamatábra megnyitásakor az Egyszerű folyamatábra alakzatai rajzsablon is megnyílik. A rajzsablon egyes alakzatai a folyamat más és más jellegű lépéseit jelölik. Ugyanakkor az alakzatoknak nincs szabványos, általános jelentésük – bármely alakzat hordozhat bármilyen jelentést, amelyben a folyamatábrákat létrehozó és olvasó emberek megegyeznek. A legtöbb folyamatábra általában csak három- vagy négyféle alakzatot használ, hacsak nincs egyértelmű üzleti indoka annak, hogy többet használjanak.
Elmondható tehát, hogy a Visióban elérhető alakzatok nevei a leggyakoribb felhasználási területekre utalnak. Íme néhány a leggyakoribb alakzatok közül:
Kezdete/vége Ezzel az alakzattal jelölheti a folyamat első és utolsó lépését.
Folyamat Ez az alakzat a folyamat egy tipikus lépését jelöli. Szinte minden folyamatnál ez a leggyakrabban használt alakzat.
Döntés Ez az alakzat olyan pontot jelöl, ahol egy döntés határozza meg a következő lépést. Többféle eredmény is lehet, de gyakran csak két kimenetel van: igen és nem.
Részfolyamat Ez az alakzat olyan lépések csoportjához használható, amelyek kombinációja részfolyamatot alkot, az pedig másutt, általában egyazon dokumentum másik lapján van definiálva. Ez jól jön hosszú és bonyolult diagramok esetében.
Dokumentum Ez az alakzat olyan lépést jelöl, amelynek eredménye egy dokumentum.
Adatok Ez az alakzat azt jelzi, hogy kívülről adatok érkeznek a folyamatba, vagy adatok kerülnek ki a folyamatból. Az alakzat anyagokat is jelölhet, és Bemenet/kimenet alakzat néven is ismert.
Oldalon belüli hivatkozás Ez a kis kör azt jelzi, hogy a következő (vagy az előző) lépés másutt található a rajzon. Ez különösen a nagy méretű folyamatábráknál hasznos, amelyeken máskülönben hosszú, nehezen végigkövethető összekötőt kellene alkalmazni.
Hivatkozás az oldalon kívülre Ha ezt az alakzatot húzza a rajzlapra, párbeszédpanel jelenik meg, amelyen hiperhivatkozásokat hozhat létre egy folyamatábra két oldala vagy egy részfolyamat-alakzat és a részfolyamat lépéseit bemutató másik folyamatábra-oldal között.
Példa; Páros vagy páratlan a szám?
Algoritmizálás (tervezés)
Az algoritmus egy feladat véges számú lépésre bontott megoldása. A lépések elemi műveletek (véges sok van belőlük), melyek utasítások formájában írhatók le, tehát található hoz-zá olyan gép, ami végrehajtja. Az algoritmus lépései elemi tevékenységek (a végrehajtóérti, vagy meg kell tanítani rá – ez újabb algoritmus).Az algoritmusok legfontosabb jellemzője:
Egyértelmű: ugyanazon bemenő adatok eseték mindig ugyanazt a választ adja.
Véges számú lépésből áll: leírásuk véges hosszúságú szöveggel lehetséges. Természetesen ez nem jelenti azt, hogy a futása is véges idejű, bár erre törekszünk.
Általános: a bemenő adatokra megfogalmazott feltételeknek eleget tevő értékekreeredményt ad.
A struktogram elemei
Nincsenek megjegyzések:
Megjegyzés küldése