qualcuno m sa dire como si puo scrivere un prog ke inserisce(o elimina)elementi in un array(ordinato o non)?
grazie!!
qualcuno m sa dire como si puo scrivere un prog ke inserisce(o elimina)elementi in un array(ordinato o non)?
grazie!!
#include <algorithm>
#include <vector>
void main(){
std::vector<int> vettore; //crei l'array
vettore.push_back(10); //aggiungi 10
vettore.push_back(3); //aggiungi 3
vettore.push_back(85); //...
std::sort(vettore.begin(), vettore.end()); //se serve lo ordini
vettore.pop_back(); //elimini l'ultimo elemento
}
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
senza librerie come potrei fare?
Dovresti farlo tu a mano. Quasi tutti i libri di C++ fanno come esempio lo Stack (quindi trovi tutti i codici sorgente)
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
scusa se continuo a rompere..il problema è ke l'esercizio consiste proprio nel farlo a mano..solo ke io nn so come fare ad aggiornare tutti gli indici..
Devi farti una pila, se non conosci i puntatori è complicata la faccenda, comunque se li conosci, cerca su google, che è pieno, sennò cerca su www.hyperbook.it -> Struttura Dati
Lì spiega molto bene
michele
michele.facchin@virgilio.it
Server:irc.azzurra.org | /join #c
Beh guarda, ti basta un intero che indica il numero di elementi nell'array. Volendo potresti simulare anche la STL creando due puntatori al tipo di oggetto che l'array contiene e che puntano al primo elemento ed a quello che è l'ultimo (una sorta di iteratori)Originariamente inviato da paranoid85
scusa se continuo a rompere..il problema è ke l'esercizio consiste proprio nel farlo a mano..solo ke io nn so come fare ad aggiornare tutti gli indici..
Se ci posti un po di codice forse capiamo meglio la tua difficoltà
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
#include<iostream>
using namespace std;
int main()
{
int elemento,posizione=0,s=0;
intv[6]={12,34,56,78,90};
cout<<"inserisci elemento: "<<endl;
cin>>elemento;
if(v[s]>elemento)
posizione=s;
while( ((v[s]<elemento) && (v[s+1]<elemento)) || (v[s]>elemento) )
{
s++;
posizione=s+1;
}
for(int i=0;i>posizione;i--)
{
v[i]=v[i-1];
}
v[posizione]=elemento;
for(int i=0;i<6;i++)
cout<<"l'ewlementgo di posto "<<i<<" e': "<<v[i]<<endl;
system("pause");
}
manca il caso in cui il numero sia maggiore d 90..ma gia m da problemi csi..cosa c'è ke nn va?
Tutto, ma cosa devi fare precisamente?
Devi allocare memoria intanto.
E' un pò tutto sballato.
Il programma che vuoi fare è un pò più lunghetto e le conoscenze anche.
Capisci?codice:int elemento,posizione=0,s=0; ... if(v[s]>elemento) posizione=s;
Con questo codice dici che se il numero della posizione 0 del vettore è maggiore del elemento, allora l'indice s = 0;
Altrimenti sarebbe 0 lostesso, ma è come scrivere:
Che senso ha?codice:int i = 1; if (i == 1) i = 1;
Studiati meglio questo prima di passare a cosa come creare un vettore dinamico.
michele
michele.facchin@virgilio.it
Server:irc.azzurra.org | /join #c