Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-03-2006, 23:20   #1
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
[C++]tutorial su liste, a livello di informatica 1

ciao a tutti!
tra qualche giorno ho l'esame di fondamenti di informatica 1, ed ho un grosso problema perchè ho lasciato il manualone di c++ a casa di un mio amico e non posso andarlo a riprendere (firenze, ed io sono ad aq...).

siccome ho qualche problemino per le liste volevo chiedere se qualcuno di voi conosce un qualche tutorial livello base per queste: so che in rete se digito liste c++ trovo sto mondo e quell'altro, ma io sto preparando informatica 1, quindi di template, classi e altra roba non so niente, e la sintassi del c++ che conosco è davvero limitata (primo esame di informatica...).

potete aiutarmi? le cose che devo riuscire a fare sono le classiche: saltare un elemento, aggiungere un elemento in testa/coda, stampare una lista al contrario o solo elementi con determinati paramentri....


grassie a chiunque mi aiuterà
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 00:20   #2
mr_hyde
Senior Member
 
Iscritto dal: Nov 2005
Città: Genova
Messaggi: 937
Scusami, forse sarebbe utile una piccola chiarificazione su cosa intendi per "liste":
1) utilizzo delle STL std::list
2) devi creare tu le funzioni per l'allocazioe/de-allocazione degli elementi, gestire i singoli nodi della lista


Questo giusto per capire se ti serve un tutorial sull'uso delle STL (Standard Template Library) oppure un qualcosa di piu' generico sulle strutture dati in generale.

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 01:36   #3
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
mmm direi la seconda...metto un esempio di programma del tipo carica lista stampa lista

Quote:
#include<iostream>
#include<stdlib.h>
using namespace std;

struct elemento {
int valore;
elemento *succ;
};

int main ()
{
elemento *p;
elemento *p1;
int dim;

p=new elemento;
p1=p;

cout<<"inserisci la grandezza della lista ";
cin>>dim;
cout<<"inserisci il valore dell'elemento 0 ";
cin>>p1->valore;
for (int i=1; i<dim; i++)
{
p1->succ=new elemento;
p1=p1->succ;
cout<<"inserisci il valore dell'elemento "<<i<<" ";
cin>>p1->valore;
}

p1->succ=NULL;
p1=p;

cout<<"gli elementi inseriti sono: "<<endl;
while (p1!=NULL)
{
cout<<p1->valore<<" ";
p1=p1->succ;
}
system ("pause");
return 0;
}
per lista intendo uno struct del quale il primo campo è un campo qualsiasi (char, string, int, un altro struct, insomma qualsiasi cosa) ed il secondo campo è un puntatore del tipo elemento, dove elemento è proprio lo struct che ho creato.

il puntatore p è il puntatore che mi serve per memorizzare il primo oggetto (lo chiamo così perchè le parola "elemento", seppur adatta, porterebbe alla confusione col nome della struct) della lista, mentre il puntatore p è il puntatore che, di volta in volta, punta ad i vari oggetti della lista...

sono riuscito a spiegarmi?

ps le stl non so neanche cosa siano... ma è sicuro qualcosa che, al momento, non devo studiare (e questo mi basta )
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 01:57   #4
mr_hyde
Senior Member
 
Iscritto dal: Nov 2005
Città: Genova
Messaggi: 937
OK, capito. Guardo se nei miei bookmark c'e' qualcosa che ti puo' essere utile (ma ahime' non credo)

Per le STL: sono una libreria di contenitori vari (tra cui le liste) che fanno uso dei template.

In pratica hai gia' le liste belle e pronte (e non solo le liste) con tutte le loro funzioncine per "maneggiarle".

Ad esempio, supponi di avere fatto la classe CPersona che contiene come attributi i dati anagrafici: sedevi creare una dista di persone ti bastera' dichiarare

std::list<CPersona> listaPersone;

e ovviamente hai tutti i metodi per aggiungere/togliere elementi dalla lista.
Altra cosa utilissima sono gli iteratori che ti permettono di "scorrere" tutti gli elementi della lista (ma esistono anche per tutti gli altri contenitori messi a disposizione dalle STL) e di operare su questi.

E ancora STL mettono a disposizione metodi per eseguire una determinata operazione su tutti gli elementi di una lista, evitandoti cosi' di scrivere il solito ciclo di scorrimento e di richiamo dell'operazione sul singolo elemento.

Insomma: nella programmazione "seria" SONO DA USARE. Capisco che ora tu abbia solo interessi "studenteschi" (leggi: superare l'esame) ma mi sembrava comunque giusto dirti della loro esistenza (anche se trovo grave che un corso sul C++ non affronti l'argomento... Oppure hai saltato qualche lezione? :-) )

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 02:29   #5
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
nono, guarda io voglio approfondire ed imparare per bene...ma ora l'obbiettivo è l'esame
stl e classi ancora non le affronto...ma perchè non sono in programma!
sto facendo ingegneria informatica, primo anno, e questo è il primo esame di infromatica che c'è, quindi ce ne sarà di tempo per fare il resto...

ps se vuoi renderti conto di quale sia il programma per capire le mie "esigenze" ti posto il programma del corso

Quote:


Fondamenti di informatica I (corso di laurea in Ingegneria Informatica - Automatica)

Docenti: Eliseo Clementini

Collegamenti culturali e finalità del corso

Il corso è finalizzato all'acquisizione dei concetti fondamentali dell'informatica, senza trascurare gli aspetti sperimentali della disciplina e la sua applicazione immediata. Si inizia con una descrizione del sistema informatico nella sua interezza, dalla rappresentazione dell'informazione ai software applicativi, per poi concentrarsi sulle tecniche di programmazione ad alto livello, con lo scopo di far maturare negli studenti l'abilità a progettare programmi e metterli in grado allo stesso tempo di utilizzare in maniera attenta e consapevole il software già esistente. Il linguaggio di riferimento sarà il C++, anche se i concetti presentati nel corso sono indipendenti dal linguaggio e facilmente applicabili in qualsiasi linguaggio imperativo come C o Pascal. Il corso è propedeutico per seguire il corso di Fondamenti di Informatica II.
Programma

1. Architettura dei sistemi informatici ([1], cap. 1-2).
Processi e processori. Problemi, algoritmi e programmi. Linguaggi di programmazione. Hardware e software: descrizione e classificazione. Architettura del calcolatore. Modello di von Neumann. Sistemi numerici posizionali a base fissa. Conversioni di base. Rappresentazione di numeri negativi in modulo e segno e in complemento a due. Rappresentazione di numeri reali in virgola mobile normalizzata. Codice ASCII. Algebra di Boole e principali funzioni logiche. Ambienti di programmazione Dev-C++ e Borland C++ Builder.

2. Elementi di programmazione ([1], cap. 1-2).
Sviluppo di algoritmi. Concetto di variabile. Operazioni elementari: lettura, scrittura, assegnazione e confronto. Diagrammi di flusso. Pseudo-codice. Struttura di controllo se-allora-altrimenti. Cicli con pre-condizione e post-condizione. Strutture di controllo finché-esegui e esegui-finché. Progettazione di algoritmi con cicli. Controllo sui dati di input. Traduzione in C++. Costrutti base del C++. Struttura di un programma. Parte dichiarazioni e parte istruzioni. Dichiarazione di variabili. Classificazione dei tipi. Tipi semplici, rappresentazione interna e operazioni. Espressioni numeriche e condizionali. Istruzione di assegnazione. Istruzione composta. Selezione binaria. Funzioni standard di ingresso/uscita. Istruzioni cicliche (WHILE, DO-WHILE, FOR). Costruzione di cicli annidati. Selezione n-aria.

3. Programmazione con tipi strutturati ([1], cap. 3, escluso 3.5 e 3.6; cap. 6; cap. 7, fino a 7.4).
Tipo array: definizione e rappresentazione in memoria. Dichiarazioni di tipo con typedef. Programmi su vettori. Array bidimensionali. Programmi su matrici. Tipo string. Tipo struct. Tipo file. Primitive per la gestione sequenziale dei files.

4. Aspetti avanzati di programmazione ([1], cap. 4, escluso 4.3.4; cap. 8, escluso 8.4 e 8.6; cap. 9, fino a 9.2.4).
Sottoprogrammi. Progettazione top-down. Parametricità. Dichiarazione di funzioni. Variabili globali. Variabili locali. Parametri formali e attuali. Passaggio di parametri per riferimento e per valore. Uso della memoria. Ciclo di vita delle variabili. Visibilità delle variabili. Mascheramento di variabili. Ricorsione. Gestione statica e gestione dinamica della memoria. Tipo puntatore. Operazioni con puntatori: assegnazione, new, delete, riferimento, dereferenziazione. Costante null. Uso dei puntatori. Creazione dinamica di array. Similitudine tra array e puntatori. Creazione dinamica di matrici. Strutture collegate in memoria dinamica. Liste collegate con puntatori. Programmi su liste collegate.
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 19:50   #6
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
nessuno mi aiuta?

l'esame è mercoledì... e lunedì ho pure fisica
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 21:55   #7
mr_hyde
Senior Member
 
Iscritto dal: Nov 2005
Città: Genova
Messaggi: 937
Visto quello che hai scritto direi che ti servono 2 tipi di corsi/guide:
1) sulla sola sintassi C++ (insomma, il C++ di base)
2) su algoritmi e strutture dati.

Per il primo tipo ho trovato

http://www.math.unipd.it/~sperduti/C...orso%20C++.htm

(occhio pero': mi sembrava di aver visto esempi con una versione di C++ "datata")

Per il secondo tipo:
http://www.alessioluffarelli.it/guid...eri_binari.php (per gli alberi binari, nel caso prima o poi ne avessi bisogno)

Un po' di tutto:
http://programmiamo.blogspirit.com/a...ammazione.html

Questi li ho semplicemente trovati con google cercando "tutorial strutture dati".
Non voglio bacchettarti: capisco che nel tuo caso forse non sai ancora quali sono i termini da usare per le ricerche.
Spero comunque che 'sta roba ti possa essere utile (certo che anche tu dare fisica attaccato a fondamenti... :-) )

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2006, 10:07   #8
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
eheh... purtroppo non sono io che decido, nella sessione di marzo ci sono due appelli per tre esami, ed analisi ho bisogno di un pò + di tempo per studiarmela


cmq grazie mille per le info, questa sera mi spulcio un pò sti link e ti faccio sapere

ps gli alberi binari credo siano di informatica due...
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
La nave elettrica più grande mai ...
Spusu lancia il Wi-Fi Calling: come funz...
Questo robot impara a muovere le labbra ...
iPhone 17 annienta la concorrenza in Cin...
La nuova Xiaomi SU7 batte un record: 4.2...
È possibile copiare i qubit: dei ...
BYD alza ulteriormente l'asticella: batt...
Il nuovo razzo spaziale riutilizzabile c...
L'ex leader di Assassin's Creed porta Ub...
Il razzo spaziale NASA SLS e la capsula ...
Samsung Galaxy S26 Ultra: quattro colora...
AWS investe 1,2 miliardi in Italia. Coin...
La navicella cinese Shenzhou-20 con il f...
I piani Business ed Education di Google ...
Ceres-2 e Lunga Marcia 3B: la Cina falli...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v