Populația unei matrice cu numere aleatoare

Atelierul de laborator este dedicat limbajului C în versiunea sa de bază. Pentru realizarea acestui ciclu, orice mediu de operare și orice sistem de programare C este potrivit, deoarece acele proprietăți ale limbajului care sunt studiate aici sunt nucleul limbii și sunt prezente în toate implementările sale. Aici luăm în considerare operația din sistemul de operare Windows XP și sistemul de programare Borland C.

Descrierea fiecărei lucrări de laborator începe cu secțiunile "Scopul muncii", "Scurtă informație teoretică" și "Exemple de rezolvare a problemelor". Subiectele indicate în secțiunea "Informații teoretice succinte" trebuie studiate pe baza materialelor cursului de curs și a literaturii înainte de începerea lucrărilor de laborator și toate soluțiile enumerate în secțiunea "Exemple de rezolvare a problemelor" trebuie dezasamblate.

LUCRĂRILE DE LABORATOR nr. 13

Obiectiv: obținerea de abilități practice în lucrul cu mese unidimensionale.

Scurt informații teoretice

O matrice este o secvență numită finit de același tip. Arrays sunt utilizate pe scară largă dacă aveți nevoie să procesați o mulțime de date pe care utilizatorul le introduce de la tastatură.

O matrice este denumită unidimensională. dacă este alcătuit dintr-un rând și N coloane (vector).

Formatul descrierii matricei este după cum urmează:

element_type name [dimension];

Dimensiunea este numărul de elemente din matrice (o constantă pozitivă întreg).

Această intrare înseamnă că memoria este rezervată pentru 10 numere întregi cu numerele de ordine și numerele ordine (indicii) de la 0 la 9 inclusiv. În indexarea C începe de la zero, deci dimensiunea matricei specificată în descriere este întotdeauna una mai mare decât valoarea maximă a indexului.

Pentru a accesa un singur element dintr-o matrice, trebuie să specificați numele matricei și numărul elementului din matrice (index) în paranteze pătrate. Indicele este un număr întreg.

array [0] este primul element al matricei, matricea [9] este ultimul element al matricei.

Elementele unei matrice au toate atributele unui anumit tip.

§ neinitializat (de exemplu, o matrice cu patru elemente de tip întreg poate fi definită ca int array [4];);

§ inițializat. Se definește după cum urmează: int array [] =;

Introducerea elementelor matrice

Introducerea elementelor dintr-o matrice unidimensională de la tastatură este după cum urmează:

const int n = 5; // numărul elementelor din matrice

scanf ("% f", array [i]); // citiți de pe tastatura elementului

Populația unei matrice cu numere aleatoare

Să se solicite umplerea unei matrice cu numere aleatorii uniform distribuite în intervalul [a, b]. Deoarece pentru numere reale și reale metodele de calcul al unui număr aleator într-un interval dat sunt diferite, considerăm ambele variante. Aici și mai departe se presupune că la începutul programului există o linie

Funcția generatorului de numere aleatoare este localizată în fișierul header stdlib.h.

De asemenea, este convenabil să adăugați o funcție aleatoare la programul dvs.:

care produce numere aleatoare cu o distribuție uniformă în intervalul [0, N-1]. Pentru a obține numere aleatorii cu o distribuție uniformă în intervalul [a, b], trebuie să folosim formula

Pentru numere reale, formula este oarecum diferită:

Aici, RAND_MAX constant este numărul maxim aleatoriu dat de funcția standard rand.

În exemplul de mai jos, matricea A este umplută cu numere întregi aleatorii în intervalul [-5,10]. și matricea X prin numere reale aleatorii în același interval.

int i, A [n], a = -5, b = 10;

randomize (); // inițializați generatorul de numere aleatoare

A [i] = aleatoare (b-a + 1) + a; // fiecare element al matricei

// atribuie o valoare aleatorie

Dacă este necesar ca numerele să fie nu numai pozitive, ci și negative, puteți scrie, de exemplu, astfel:

matrice [i] = 20 - aleatoare (100);

Ieșirea elementelor matrice

1. Ieșirea elementelor de matrice într-o singură linie a ecranului:

printf ("% f \ t", array [i]); // \ t - tabulare

Pentru a imprima elementele unui tablou într-o coloană a ecranului în funcția printf, înlocuiți \ t cu \ n - trecerea la o nouă linie a ecranului.

Folosind operația sizeof (), puteți determina dimensiunea memoriei care corespunde identificatorului sau tipului. Dimensiunea operației () are următorul format:

Orice identificator sau nume de tip poate fi folosit ca expresie. Dacă numele expresiei este numele matricei, rezultatul este dimensiunea întregului matrice (adică produsul numărului de elemente după lungimea tipului).

printf (". \ n", sizeof (array));