Onko C :ssa olemassa jotain SIMPPELIÄ tapaa saada vektorin tiedot taulukkoon? Javassahan taitaa olla joku vector toArray()-metodi? Olen tässä aikani googlannut eikä mitään tunnu löytyvän...
vector toArray
muffy the cat
8470
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 8
Vanhimmat
Siis jos tarkoitat std::vector niin sehän on taulukko ja itse asiassa paljon muutakin. Jos taas tarkoitat matematiikan vektoria niin sillä ei taida olla yhteistä taulukon kanssa...
std::vectorista C tyyliseksi taulukoksi.
Esim syötättäväksi C kirjastolle.
Vinkkinä tee template funktio...
tulisi ensinnäkin postata sen vectorin sorsat ja vindovsin alkoritmit tänne, että ne vissiinkin näkee ne täällä ja toisaalta c : ssa tulisi käytellä olioita, jotka sisältävät osoittimen seuraavaan ja sitä rataa eli linkitettyjä listoja, jolloin ei tarvitse välittää matematiikasta taikka mistään muustakaan tuon taivaallista, koska tuollainen olio tunnetustikin on paitsi täysin heuristinen niin myöskinsä täysin dynaaminen ja silti suurinakin joukkoina esiintyessään hämmästyttävän stabiili, ennenkuin varsinaisen laskun teon aika tulee. Liian usein täälläkin näin näkee turhankin monimutkallisia lähestymistapoja täysin triviaaleihin ongelmanratkaisuihin.
mitä tarkoittaa monimutkallinen?
välttämättä esimerkiksi yrittää ratkaista täysin lineaarista matriisia eli käytännössä alkoritmia, joka siihen matriisiin johti, epälineaarisen matriisin ratkaisukeinoin, koska jo melko lineaarinenkin matriisihan on täysin epälineaarisen matriisin eräs erikoistapaus: sehän riippuu täysin sen alkoritmin mittasuhteista, onko se vaiko eikö se ole, mutta silloin pitää jokseenkin lineaarisiin ratkaisukeinoihin päädyttäessä heti muistella miljoonia erikoistapauksia ulko- ynnä muista vastaavista muisteista, joihin muisteihin kaikkien niitten erikoistapusten etukäsiin opiskelu saattaa hyvinkin monimutkallista olla, vieden useita vuosia ja silloin se projekti heti alussa kusee etenkin, kun ajattelmme, kuinka raivoisia riitoja sen projektiryhmän sisällä syntyy jo vihdoin ja viimein keskusteltaessa alustavasti siitä, että mikäköhän erikoistapaus siinä todennäköisesti voisi tulla kyseeseen.
miksi joku viitsii haaskata aikaansa paskanpuhumiseen, mut toisaalta, jos ei muuta osaa kuin jauhaa paskaa niin kai sen on annettava jauhaa sitä. sääliksi vaan käy..
eli siinä joku järjen jättiläinen puhui paskaa mukamas asianansa siten täysin turhaan monimutkallistaen viestinsä sekä sisältöä että sanomaa: hänhän olisi yksinkertaisesti voinut puhua paskaansa siten, ettei ollenkaan olisi yrittänyt antaa siinä sellaista kuvaa, että ettei mukamas paskaa puhuisi -yksinkertaista eikö totta? Toivoa vain sopii, etteivät hänen ainoastansa mahdollisesti ohjelmoimansa sovellukset noudattele samaa monimutkallista kaavaa siten, että päällisin puolin jokseenkin asialliset ohjelmansa paljastuvat ihan paskoiksi vähänkään tarkemmissa tarkasteluissa. Ehkäpä hän voisi ystävällisesti postata tänne muutamia alkoritmiänsä ja etenkin sorsiansa, että ne näkis rekisterin putsailu ohjelmilla, että missä kohdassa niissä ei kenties ole niin paskaa ja voisimme sitten yhdessä antaa niille paska-arvosteluitamme.
Missä ongelma? Vectoriahan voi käyttää kuin taulukkoa esim.:
#include
#include
using namespace std;
class Foo {
public:
char *nimi;
int kenka_nro;
};
int main()
{
vector v;
v.resize(10);
for (int i = 0; i < v.size(); i++)
v[i].kenka_nro = i+36;
for(int i = 0; i < v.size(); i++){
printf("Kengän numero: %d\n", v[i].kenka_nro);
}
return 0;
}
Onkelmia voipi tulla tietysti jos vectori sisältää (luokan) olioita.