Pereiti prie turinio

C++ array_put()


Svečias Aliarth

Rekomenduojami pranešimai

Svečias Aliarth

Sveiki. Norejau paklausti del C++ begalinio ilgio masyvo, nes prirasant ilgi per daznai ji pasiekia.

Ar gerai ant C++ naudoti toki paprasta array_put(), gal yra geresniu, greitesniu ir aiskesniu variantu? :unsure:

 

#include <windows.h>
#include <iostream>
#include <sstream>

using namespace std;

// ============================================================
//                       ALERT WINDOW
// ============================================================
void alert(string value, string title = "Warning")
{
MessageBox(NULL, value.c_str(), title.c_str(), MB_OK);
}
// ============================================================


// ============================================================
//                     INTEGER TO STRING
// ============================================================
string integer_to_string(int value)
{
ostringstream stream;
stream<<value<<flush;

return stream.str();
}
// ============================================================

// ============================================================
//                          ARRAY PUT
// ============================================================
typedef struct ARRAY{
int* data;
int length = 0;
}array;

void array_put(array &array_data, int value)
{
int* new_array = new int[array_data.length+1];
if (array_data.length != 0){new_array = array_data.data;}

new_array[array_data.length] = value;

array_data.data = new_array; array_data.length++;
}
// ============================================================


// ============================================================
//                ARRAY PRINT (REQ: ARRAY PUT)
// ============================================================
string array_print(array array_data)
{
string out = "";
out += "array_length: " + integer_to_string(array_data.length) + "\n";
for (int i=0;i < array_data.length;i++)
{
out += "[" + integer_to_string(i) + "] = " + integer_to_string(array_data.data[i]) + "\n";
}
return out;
}
// ============================================================

int main()
{
array array_data;
array_put(array_data, 120);
array_put(array_data, 170);

string result = array_print(array_data);
alert(result);

return 0;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Svečias Aliarth

o ka tu nori daryti su siou kodu?

Rasyti i masyva iki begalybes - iki tol kol baiksis RAM'ai ir nereiketu prirasineti masyvu ilgiu, nes prirasant ilgius ir kai juos pasiekia programa pastringa...

Redagavo Aliarth
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Rasyti i masyva iki begalybes - iki tol kol baiksis RAM'ai ir nereiketu prirasineti masyvu ilgiu, nes prirasant ilgius ir kai juos pasiekia programa pastringa...

Tai naudok kokius vectorius ar listus, paprasciau bus.

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...