Matriser på C -språk

Matriser på C -språk
Arrays er et av de viktigste temaene på C -språket. Vi kan lagre samme type dataelementer i en smittsom minnetildeling gjennom en matrise. Den spesielle egenskapen til en matrise er at vi kan lagre en gruppe variabler i samme navn, men i forskjellig indeks nei. Indeks betyr adressen til hver minneblokk. Så den har tre hovedfunksjoner. De er:
  1. Array er en lineær samling av lignende elementer.
  2. Array er også kjent som en abonnementsvariabel.
  3. Array er en gruppe variabler.

Hvor kan vi bruke matrisen?

Her må vi evaluere gjennomsnittet av 1000 verdier. Så vi må erklære 1000 variabler minimum for å fullføre dette programmet. I stedet for å erklære 1000 separate variabler, bruker vi en matrise.

Eks: A [1000] hvor a [] En matrise og 1000 er antall variabler.

[0] [1] [2] [3] [4] [5]

Det er en gruppe, men den har ikke noe individuelt navn, men det har indeksnumre akkurat som 0, 1 og 2, og det tar sammenhengende minne i RAM. Indeks nr. kalles også posisjon nr. Den har samme type dataelement, akkurat som enten Int, eller Char, eller Float.

Array representerer faktisk indeksen for den første variabelen i en matrise.

Hvis vi vil få tilgang til hver variabel, skriver vi

a [0] [først navnet på matrisen, deretter firkantet brakett og indeks nei.]

Men til å begynne med, når vi erklærer en rekke, betyr det totalt nei. av variabler i en matrise,

int a [10] [det betyr at a er en matrise, der 10 variabler eksisterer]

Men etter det, når vi skriver akkurat som,

A [0], A [1] .. . det betyr indeks nei. av matrisen

La a [0] = 12, a [1] = 8, a [2] = 10, a [3] = 15

Eksempel 1

#inkludere

Her viser vi hvordan en matrise er erklært. Ved hjelp av en matrise beregner vi gjennomsnittet av noen verdier.

int main ()

int a [10], sum = 0, i; // erklære en matrise.
float avg;
printf ("Angi 10 tall");
for (i = 0; i <= 9 ; i++ )

scanf ("%d", & a [i]); // tar noen fra brukeren i matrisen.

for (i = 0; i <= 9 ; i++ )

sum = sum + a [i];

AVG = sum / 10.0;
printf ("gjennomsnittet er %f \ n", avg);
retur 0;

Produksjon

Forklaring

Her erklærer vi en rekke som heter A [], som har 10 verdier. Med hjelp av for sløyfe, Vi legger til noen verdier som vil bli tatt fra brukeren ved hjelp av Scanf () -funksjonen. Deretter beregner vi gjennomsnittet av denne summen av ti verdier og lagrer den i avg variabel.

ARRAY -erklæring

Int a []; Feil [Hver gang vi erklærer en matrise uten initialisering og ikke legg noe tall mellom braketten, betyr det at det oppstår feil her]

Int a [5];
a [0] = 9;
int a [5] = 9,6,8,0,2
int a [] = 9,6,8,0,2
int a [5] = 9,6,8,0,2,4,7 Det er en feil, ettersom matrisen er ute av bundet
A [5] = 9,6

Hver gang vi erklærer en rekke uten initialisering, betyr det at hver indeks har, som standard søppelverdi som eksisterer der.

Når vi erklærer en matrise med initialisering, har vi lov til å tømme den firkantede braketten.

Hvis vi initialiserer en matrise med mindre antall, er resten av verdiene i indeksen til matrisen som standard null.

Eksempel-2

Her viser vi hvordan en dynamisk matrise fungerer på dataene, og ved hjelp av matrisen vurderer vi minimums- og maksimumsverdien fra en gruppe av tall.

#inkludere
#inkludere
int main ()

int *a, i, n, min, max;
printf ("Angi størrelsen på matrisen:");
Scanf ("%d", & n);
a = (int *) malloc (n * sizeof (int)); // malloc () kalles for å lage en matrise.
for (int i = 0; i <= n - 1 ; i++ )
printf ("arr [%d]:", i);
scanf ("%d", & a [i]);

min = maks = a [0];
for (i = 1; i a [i])
min = a [i];
hvis (maks< a[i] )
maks = a [i]; // Finn ut maksimal verdi.

printf ("Minimum av matrise er: %d", min);
printf ("\ n maksimum av matrise er: %d \ n", maks);
gratis (a);
retur 0;

Produksjon

Forklaring

Her ved hjelp av Malloc () -funksjonen, erklærer vi en rekke og får noen verdier på kjøretid for å beregne minimums- og maksimumsverdier fra disse verdiene. Vi erklærer to variabler som heter Min og Max og skriver ut disse variablene.

Eksempel-3

Ved hjelp av matriseindeksen reverserer vi verdiene på matrisen her.

#inkludere
#inkludere
int main ()

int *a, n, temp, i;
printf ("Angi størrelsen på matrisen:");
Scanf ("%d", & n);
a = (int *) malloc (n * sizeof (int)); // Opprette en matrise.
for (int i = 0; i <= n - 1 ; i++ )

printf ("arr [%d]:", i);
scanf ("%d", & a [i]);

for (int i = 0; i < n / 2 ; i++ )

temp = a [i];
a [i] = a [n - i - 1];
a [n - i - 1] = temp;

printf ("revers av matrisen \ n"); // reversere matrisen.
for (int i = 0; i < n ; i++ )

printf (" %d,", a [i]);

printf ("\ n");
gratis (a);
retur 0;

Produksjon

Forklaring

Her oppretter vi en rekke ved hjelp av dynamisk minnetildeling. Malloc () -funksjonen skaper blokken av matrisen og får dynamisk noen verdier. Så reverserer vi disse verdiene på matrisene og skriver dem ut.

Eksempel-4

Her viser vi hvordan elementene i en matrise blir kopiert til en annen matrise.

#inkludere
int main ()

int a [100], B [100]; // erklære matriser.
int i, n;
printf ("\ n \ n kopiere elementene en matrise til en annen matrise: \ n");
Printf ("--------------------------------------- ----- \ n ");
printf ("Skriv inn antall elementer som skal lagres i matrisen:");
Scanf ("%d", & n);
printf ("input %d elementer i matrisen: \ n", n);
for (i = 0; i < n ; i++ )

printf ("element - %d:", i);
scanf ("%d", & a [i]);

/* Kopier elementer av første matrise til andre matrise.*/
for (i = 0; i < n ; i++ )

b [i] = a [i]; // Kopiering av elementer.

/ * Skriver ut elementene i første matrise */
printf ("\ n elementene som er lagret i den første matrisen er: \ n");
for (i = 0; i < n ; i++ )

printf (" %d", a [i]);

/* Skriver ut elementene som er kopiert inn i den andre matrisen. */
printf ("\ n \ n elementene som er kopiert til den andre matrisen er: \ n");
for (i = 0; i < n ; i++ )

printf (" %d", b [i]);

printf ("\ n \ n");
retur 0;

Produksjon

Forklaring

Her erklærte vi en rekke som heter a []. I denne matrisen tar vi noen verdier fra brukeren. Nå erklærte vi en annen matrise som heter b []. Elementene i matrise B [] kopieres fra elementene i matrisen A [] og skriver ut disse verdiene både Array A [] og B []. Vi kan se den samme utgangen genereres som de er kopierte versjoner.

Konklusjon

Her diskuterer vi i detalj det grunnleggende konseptet med en matrise. En matrise er en prosedyre for å lagre verdier i minnet. Gjennom matrise kan vi få tilgang til ethvert element raskt. Men Array har noen begrensninger angående nytten av dem, men er veldig nyttig i programmeringsperspektivet.