C ++ returner 2D -matrise fra funksjon

C ++ returner 2D -matrise fra funksjon
En hel rekke kan ikke leveres som en parameter til en funksjon i C++. Skjønt, vi vil tilordne en peker til en matrise uten å definere en indeks ved å indikere arrayens tittel. Vi må spesifisere et attributt formalisert argument i det hvis vi bestemmer oss for å gi en en-dimensjonsarray som en parameter i en metode. Og når vi gir en 2D -matrise som et argument returnerer en peker til en matrise i stedet for en peker til en peker.

Det flerdimensjonale Array sitt første medlem ville være et annet utvalg; Derfor, hvis vi gir en todimensjonal matrise, vil den bli skilt ut i en referanse til matrisen. Fordi C ++ ikke kunne tillate plassering av en global variabel å bli gitt i funksjonen, må vi erklære den globale variabelen som en dynamisk variabel.

Bruk pekernotasjon for store strukturer, etter å ha returnert dem gjennom en peker henter dem effektivt etter data. Fordi 2D -arrayen vil bli relativt stor, anbefales det å gi pekeren til matrisens første komponent, som sett i følgende tilfelle. 2D -array -argumentet i UpdatedArar er deklarert med ARR [] [Size] -format for å hente komponentene ved å bruke parentes i operasjonsomfanget.

I begynnelsen av programmet må vi introdusere tre overskriftsfiler. brukes til inngangs- og utgangsfunksjoner. er inkludert for å holde komponenter av de samme datatypene. brukes til å betjene resultatet av programmet.

Etter dette bruker vi standardfunksjonen 'cout' for output formål, 'cin' for input formål, 'endl' for neste linje, 'streng' for å erklære strenger, 'Vector' gir containerne som angir matriser som kan endre deres Dimensjoner under kjøretid og 'SETW' -funksjon som spesifiserer bredden for utgangsprosedyrer.

Nå setter vi størrelsen på matrisen og lagrer den i en variabel 'størrelse'. Pekeren for den oppdaterte matrisen blir deretter initialisert. Lengden på matrisen og arraystørrelsen sendes som en parameter til funksjonen 'UpdatedAr ()'. Nå bruker vi 'for' -sløyfen. Inne i 'for' sløyfen initialiserer vi loopvariabelen 'J'. Deretter definerer vi tilstanden at verdien av løkkenvariabelen må være mindre enn lengden på matrisen. I den siste delen av 'for' -sløyfen er det et økning i verdien av variabelen til 'for' -sløyfen. Denne 'for' sløyfen påføres rader med matrisen.

På samme måte bruker vi en annen 'for' Loop, som implementeres for matriserens kolonner. Nå kaller vi hovedfunksjonen (). Her definerer vi matrisen. Denne matrisen inneholder 4 rader og 4 kolonner. Vi bruker 'cout' -kommandoen for å skrive ut uttalelsen 'input array'.

I tillegg til dette bruker vi 'for' -løkken for inngangsarrayen. Den første 'cout' skriver ut '[' og deretter for loop brukes til å erklære elementene i matrisen. Her definerer vi setw () -funksjon. Den spesifiserer feltbredden som brukes for utgangsprosesser. Vi har brukt 'cout' for å skrive ut sluttbraketten ']' av matrisen.

Videre vil vi skaffe oss 'endl' for neste linje. Nå erklærer vi pekeren '*pt' for den oppdaterte matrisen. Her har vi gitt størrelsen og inngangsarrayen som argumenter for den oppdatertearr (). I neste linje blir 'cout' brukt for å vise uttalelsen 'oppdatert matrise'. Vi bruker 'for' -sløyfen for rader i matrisen.

Først initialiserte vi variabelen 'J' så satte vi tilstanden 'J

Bruk pekeren til pekerteknikken

For å hente matrisen innenfra funksjonen, vil vi bruke en peker til pekerprosedyre. Hvis enhetene som skal hentes blir dynamisk generert, gir denne tilnærmingen en betydelig fordel i forhold til alle andre. Når pekeren er mottatt i operatøromfanget, er det generelt bra å oppdatere objektets tilgjengelige tilstand. Det er viktig å merke seg at vi konverterer matrisen referanse til int* før vi betegner elementene.

Først av alt vil vi integrere tre viktige biblioteker. Overskriftsfilen kan brukes til inngangs- og utgangsprosedyrer. brukes til å holde komponenter av identiske datatyper. I motsetning til matriser, kan dimensjonen til en vektor øke kontinuerlig. Under implementeringen av programmet vil vi justere dimensjonene til vektoren for å imøtekomme våre behov. brukes til å evaluere programmets svar.

Etter dette har vi brukt standardfunksjoner som 'cout' for output, 'cin' for input, 'endl' for neste linje, 'streng' for å definere strenger, 'vektor' for å betegne matriser som kan endre attributtene deres under utførelse, og 'setw' for å spesifisere bredden for utgangsprosesser. Vi justerer nå matrisens størrelse og lagrer den i variabelen 'størrelse.'Den oppdaterte Array's peker vil da bli initialisert. Størrelsen og lengden på matrisen er gitt som argumenter til metoden 'UpdateTarr ()'. 'For' sløyfen har blitt brukt.

Deretter spesifiserer vi kravet om at sløyfevariabelenes verdi vil være mindre enn matrisens lengde. Verdien av 'for' loopvariabelen økes i løpet av den siste delen av løkken. Denne 'for' sløyfen blir utført til matriserens rader. En til 'for' sløyfe blir brukt på samme måte. At 'for' sløyfe utføres for matrisernes kolonner. Vi definerer nå hoved- () -funksjonen. Arrayens elementer er spesifisert her. Denne matrisen har fire kolonner og fire rader.

Uttalelsen 'input array' vises ved å bruke 'cout' -kommandoen. I tillegg behandles inngangsarrayen til en 'for' -sløyfe. Den opprinnelige 'cout' sender ut '[', og etter det for Loop hevder matrens elementer. SETW () -funksjonen kan uttrykkes her. SETW () -metoden er en C ++ operatør for å justere bredden på en variabel. Operatøren gir minimumsområdet for karaktersett en komponent vil kreve eller endrer iOS -bibliotekets variabel bredde. Denne metoden lar brukere tilpasse prøvebredden for utgangsprosedyrer.

Vi har brukt 'cout' -kommandoen for å vise matriserens lukkende brakett ']' '. Vi vil også bruke 'endl' for neste linje. For den oppdaterte matrisen definerer vi nå pekeren '** pt2'. Som parametere for oppdatertearr () -funksjonen, har vi spesifisert størrelsen og inngangsarrayen. Vi bruker 'cout' for å presentere "oppdatert matrise" -frasen. Vi definerte tilstanden 'J

En lignende 'for' sløyfe vil bli brukt til matrisernes kolonner. SETW () -funksjonen blir deretter brukt. Endelig blir programmet forlatt med kommandoen 'return exit_sucess'.

Konklusjon Denne artikkelen har diskutert to metoder: pekernotasjon og pekeren til pekertilnærmingen for å returnere den todimensjonale matrisen fra en funksjon. Å returnere en hel rekke som parameter støttes ikke i C++. Metoden for returnerende matriser fra en funksjon bestemmes av metoden for å integrere forskjellige dimensjoner.