kako staviti korisnički unos u niz c


Odgovor 1:

Dvije su mogućnosti.

  1. niz promjenljive duljine.
  2. Dinamička dodjela memorije.

Niz promjenljive duljine

#include

int main ()

{

veličina int;

scanf ("% d", & veličina);

int arr [veličina];

printf („Memorija dodijeljena nizu je% d“, veličina (arr));

}

U ovom slučaju, memorija se dodjeljuje u segmentu steka i dodjeljuje se nakon što izađete iz bloka, pa se ne može koristiti za povratak iz funkcije. Jednostavno rečeno, sličan je nizu fiksne veličine.

2. Dinamičko dodjeljivanje memorije

#include

#include

int main ()

{

veličina int;

scanf ("% d", & veličina);

int * ptr = (int *) malloc (sizeof (int) * size);

// ILI int * ptr = novi int [veličina]; // C ++

printf („Unesite elemente:“);

za (int i = 0; i

scanf ("% d", & ptr [i]);

int zbroj = 0;

printf („Unesite elemente:“);

za (int i = 0; i

zbroj = zbroj + ptr [i];

printf ("zbroj svih elemenata =% d \ n", zbroj);

besplatno (ptr);

}

Elementima možemo pristupiti pomoću indeksiranja niza.

Memorija se dodjeljuje u segmentu hrpe.

Moramo izričito izvršiti oslobađanje koristeći free / delete, u protivnom to rezultira curenjem memorije.

Imat ćemo kontrolu nad datumom odjave. Može se koristiti za vraćanje adrese iz funkcije i korištenje iste u drugoj funkciji.

Možemo joj čak i promijeniti veličinu koristeći realloc.

Ako koristite C ++, može se koristiti i vektor.


Odgovor 2:

Nisam siguran, ali otprilike ovako

U C ++:

int array_size;cout << "Unesite veličinu polja";cin >> veličina_reda;int ime_niza [veličina_niza];

Treba napomenuti da sam niz stvorio nakon što sam od korisnika uzeo unos.

To je zato što se tijekom definiranja niza mora definirati određena veličina kako bi se potrebna količina memorije mogla dodijeliti nizu.

Ipak, u C ++-u imamo značajku koja se naziva vektor, koja nam omogućuje stvaranje nizova dinamičke veličine koji se mijenjaju nakon svakog umetanja i brisanja.

Napomena: Napravio sam niz cijelih brojeva. Može se napraviti niz bilo koje vrste podataka.


Odgovor 3:
#include int main (){ veličina int = 0; int arr [veličina]; printf ("ulazna veličina polja"); scanf ("% d", & veličina); printf ("\ nulazni elementi polja"); za (int i = 0; i scanf ("% d", & arr [i]); } printf ("\ nMaska je"); za (int i = 0; i printf ("% d", arr [i]); } povratak 0;}

ulaz i izlaz:

kod:


Odgovor 4:

Na jeziku C ++;

Veličinu niza možete dati tijekom vremena izvođenja pomoću sljedećeg koda koji također čita ulazne vrijednosti i prikazuje izlaz.

#include

#include

pomoću prostora imena std;

glavni()

{

int a [100];

int n;

cout << "Unesite veličinu polja \ n";

cin >> n;

cout << "Unesite vrijednosti \ n";

za (int i = 0; i

{

cin >> a [i];

}

cout << "Unesene vrijednosti su \ n";

za (int i = 0; i

{

cout <

}

}

Ovaj kod savršeno funkcionira, možete ga sastaviti i provjeriti.


Odgovor 5:

morate dinamički dodijeliti niz. u c / c ++ kada deklarirate niz kao:

int arr [x];

ovdje x mora biti "constexpr", zapravo tijekom kompilacije prevoditelj vrši zamjenu, tj. izraz constexpr zamjenjuje se svojom vrijednošću. sada korisnički unos nikada ne može biti constexpr, jer ili koristimo cin ili bilo koju drugu funkciju unosa za uzimanje unosa koji nisu constexpr funkcije.

za dinamičku dodjelu koristite funkcije knjižnice poput malloc, calloc ili upotrijebite nove i izbrišite ključne riječi u c ++-u (također proučite pametne pokazivače, oni pružaju automatizirano rukovanje dinamički dodijeljenom memorijom ... o njima ima puno više). dao sam vam sve savjete, sada ih jednostavno poguglajte.


Odgovor 6:

Jednostavan način:

#include

int main ()

{

veličina int;

scanf ("% d", & veličina);

int arr [veličina]; // Mora biti definiran s nekom vrijednošću ili varijablom.

za (int i = 0; i

za (int i = 0; i

povratak 0;

}


Odgovor 7:

Sintaksa C ++

#include

int main () {

int n;

cin >> n;

int niz [n];

}

C sintaksa

#include

int main () {

int n;

scanf ("% d", n);

int niz [n];

}


Odgovor 8:

Hvala na A2A

možete uputiti

Skillrack kodovi

u svrhu učenja, gdje su dati mnogi uzorci problema koji pokazuju upotrebu niza