Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 21-07-2004, 12.08.00   #1
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
Puntatore a vettori char (C)

per stampare a video 2 stringhe a cui ho accesso tramite un puntatore ho fatto questo:
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NUM 4 // definisco il numero delle stringhe

int main(int argc, char *argv[])
{
    
    char *ptrSTR[NUM] = {"pippo", "pippo-pippo", "pippo3", "pippoPluto"}; // puntatore a 2 vettori char
    int count = 0, index, lunStr ;    
     
     while(count < NUM){ // finchè non ho processato tutte le stringhe
     
          lunStr = strlen(ptrSTR[count]); // lunghezza delle stringa e termine del ciclo for più sotto     
                    
     printf("\n\n");
       
     for(index = 0; index <= lunStr; ++index)
     printf("%c", ptrSTR[count][index]); // stampo le stringhe
     
     count++;
     
     }
    
     printf("\n\n");     
    
  system("PAUSE");	
  
  return 0;
}
avrei potuto fare in altro modo?

grazie e ciao a tutti...

p.s. buone vacanze a chi c'è già con la testa
___________________________________

...ad ogni alba sorgerà il tuo profumo

Ultima modifica di NS-1 : 21-07-2004 alle ore 12.17.44
NS-1 non è collegato   Rispondi citando
Vecchio 21-07-2004, 12.48.03   #2
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Se vuoi farlo coi puntatori è giusto così .. funziona perché hai dichiarrato il puntatore e riempito direttamente le aree di memoria a cui esso punta ...

Dal punto di vista del codice, potevi eliminare il while e racchiudere tutto in un unico ciclo...

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 21-07-2004, 12.54.37   #3
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
(Y) grazie... adesso tolgo il while
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 21-07-2004, 17.28.17   #4
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
ho provato a togliere il while ma, sarà il caldo, non riesco a farcela... ...oggi è una brutta giornata... ...questa sera con calma ci riprovo...


___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 21-07-2004, 17.30.13   #5
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
(Y)

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 21-07-2004, 22.20.32   #6
unomichisiada
Newbie
 
Registrato: 08-07-2004
Messaggi: 47
unomichisiada promette bene
Scusa l'appunto ma non è più semplice invece di stampare le stringhe carattere per carattere con il for ,usare printf("%s",ptrSTR[count])?
O sei vincolatoper qualche motivo a fare così?
___________________________________

Sai che la fortuna è una religione:tu ci credi oppure no.
unomichisiada non è collegato   Rispondi citando
Vecchio 21-07-2004, 22.29.40   #7
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Eh noooo .. adesso gli hai svelato uno dei due trucchi per togliere i cicli .. ...

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 22-07-2004, 10.03.16   #8
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
... in effetti...
mi sono perso su una cavolata...
all'inizio ho scritto - printf("%c", ptrSTR[count][index]) -
solo per vedere se alla fine potevo accedere ai singoli caratteri utilizzando una matrice... poi mi sono dimenticato e ho dato per scontato che fosse giusto così....

ieri è stata una giornataccia.... oggi mi consolo però , svolti alcuni compiti importanti, vado a ritirare il mio primo portatile...

mi sento un bambino
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 22-07-2004, 10.04.59   #9
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
ma Web, qual'è l'altro trucco?

p.s. come ricompensa, se mi dai il tuo indirizzo in privato, ti invio una cartolina...
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 22-07-2004, 10.11.48   #10
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
così và meglio?

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NUM 4 

int main(int argc, char *argv[])
{
    
    char *ptrSTR[NUM] = {"pippo", "pippo-pippo", "pippo3", "pippoPluto"}; 
    int count = 0;  
      
     while(count < NUM)
          printf(" %s\n", ptrSTR[count++]);
    
     printf("\n\n");     
    
  system("PAUSE");	
  
  return 0;
}
posso evitare anche il while?
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 22-07-2004, 10.15.34   #11
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
adesso con il programmino modificato mi accorgo che non mi serve a nulla... il tutto serviva solo per l'accesso tramite matrice...
cmq se si può togliere in qualche modo il ciclo while, sarei felice d'impararlo...

grazie
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 22-07-2004, 10.28.35   #12
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Quota:
NS-1 ha scritto:
così và meglio?

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NUM 4 

int main(int argc, char *argv[])
{
    
    char *ptrSTR[NUM] = {"pippo", "pippo-pippo", "pippo3", "pippoPluto"}; 
    int count = 0;  
      
     while(count < NUM)
          printf(" %s\n", ptrSTR[count++]);
    
     printf("\n\n");     
    
  system("PAUSE");	
  
  return 0;
}
posso evitare anche il while?
Si ... trasformandolo in un "for".. anche se for e while sono la stessa cosa, ma in questo caso la sintassi del "for" è più corretta...

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 22-07-2004, 10.29.29   #13
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Il mio indirizzo privato?...

Scrivi alla mail dell'account di messenger che compare sotto il mio post

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 22-07-2004, 11.01.15   #14
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
fatto... ti ho mandato una mail...
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 22-07-2004, 12.24.16   #15
unomichisiada
Newbie
 
Registrato: 08-07-2004
Messaggi: 47
unomichisiada promette bene
Si così va bene e il while non lo puoi evitare a mio avviso,a meno che non lo sostituisci con un for ,(che è una soluzione migliore dato che conosci a priori il numero massimo di iterazioni),che è comunque equivalente al punto di vista del numero di istruzioni.La sostituzione non è comunqe necessaria è solo una questione stilistica,puoi lasciarlo pure com'era e va benissimo.

con il for:
[CODE]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NUM 4

int main(int argc, char *argv[])
{

char *ptrSTR[NUM] = {"pippo", "pippo-pippo", "pippo3", "pippoPluto"};
int count;

for(count=0;count < NUM;count++)
printf(" %s\n", ptrSTR[count]);

printf("\n\n");

system("PAUSE");

return 0;
}[\CODE]
___________________________________

Sai che la fortuna è una religione:tu ci credi oppure no.
unomichisiada non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Opzioni puntatore perse su ACER Travelmate 7720 AndyWarrior Windows 7/Vista/XP/ 2003 3 08-10-2008 14.12.45
Eliminare il puntatore del mouse ???? Chris_bike Windows 7/Vista/XP/ 2003 5 14-11-2007 19.48.39
problema col puntatore del mouse rosso1 Windows 9x/Me/NT4/2000 4 29-06-2005 22.26.43
PUNTATORE LASER 12379 Mercatino Usato 1 13-03-2005 21.35.43

Orario GMT +2. Ora sono le: 07.48.36.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.