Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Forte della piattaforma Qualcomm Snapdragon X, il notebook Lenovo IdeaPad Slim 3 riesce a coniugare caratteristiche tecniche interessanti ad uno chassis robusto, con autonomia di funzionamento a batteria che va ben oltre la tipica giornata di lavoro. Un notebook dal costo accessibile pensato per l'utilizzo domestico o in ufficio, soprattutto con applicazioni native per architettura ARM
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli
OnePlus risponde alle esigenze di chi cerca un dispositivo indossabile dalle dimensioni contenute con OnePlus Watch 3 43mm. La versione ridotta del flagship mantiene gran parte delle caratteristiche del modello maggiore, offrendo un'esperienza completa in un formato compatto. Il suo limite più grande è abbastanza ovvio: l'autonomia non è il punto di forza di questo modello, ma si raggiungono comodamente le due giornate piene con un uso normale.
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura
BOOX Note Air4 C rappresenta l'ultima incarnazione della categoria dei tablet E Ink a colori di Onyx, e combina le prestazioni di un dispositivo Android con l'ottima tecnologia Kaleido 3 per il display. Con schermo da 10,3 pollici, un processore Qualcomm Snapdragon 750G e 6 GB di RAM, promette un'esperienza completa per lettura, scrittura e produttività. Il prezzo lo posiziona nel segmento premium, ma questo dispositivo è un vero spettacolo!
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-11-2002, 20:00   #1
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Stringa

Ciao a tutti....
'sto giro devo fare un programma che data una riga di testo in input la memorizza in una stringa con al+ 80 caratteri...e PER OGNI PAROLA DELLA STRINGA ne visualizzi il corrispettivo in piglatin

cioe traduca ogni parola in questo modo:

montagna -------> ontagnama


io l'ho fatto così.....ma mi da uno strano problema di compilazione...che non capisco (all'interno della procedura)....


Codice:
#include <stdlib.h>
#include <stdio.h>
#define DIM 80

void piglatin (char arr[], int dim)
{char *p=arr;
 char *c;
 for (c=arr[1]; c<=arr[dim-1]; c++)
  printf ("%c", *c);
 printf ("%ca ",p);
 }


int main()
{int g=0;
 char riga [DIM];
 char a  [DIM];
 char *p;
 printf ("Scrivi una riga di testo\n");
 scanf ("%s",riga);
 for (p=riga; p<&riga[DIM]; p++,g++)
 {if (*p!=' ')
   a[g]=*p;
  else{
       p++;
       piglatin (a,g);
       g=0;}

 system("PAUSE");
 return 0;
}
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2002, 07:42   #2
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Secondo me è perché confronti C (che è un puntatore) con ARR[1] e ARR[DIM-1] (che sono char).

Non so se è corretto, però io avrei confrontato C con &ARR[1] e con &ARR[DIM-1].
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2002, 09:14   #3
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da lombardp
[b]Secondo me è perché confronti C (che è un puntatore) con ARR[1] e ARR[DIM-1] (che sono char).

Non so se è corretto, però io avrei confrontato C con &ARR[1] e con &ARR[DIM-1].
Boh non mi sembra sbagliato, c è un puntatore che riceve come valore un indirizzo...in questo caso l'indirizzo [1] dell'array e gli faccio scorrere tutto l'array...

o no?

__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2002, 09:53   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da MetalMassacre
[b]
o no?

No... arr è un puntatore al primo elemento del vettore...

arr[1] è il contenuto del secondo elemento...

arr[1] equivale a *(arr+1)
&arr[1] eqivale a (arr+1)
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2002, 12:39   #5
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]
No... arr è un puntatore al primo elemento del vettore...

arr[1] è il contenuto del secondo elemento...

arr[1] equivale a *(arr+1)
&arr[1] eqivale a (arr+1)

ah sì ok ho capito....non mi rendevo conto dell'errore...ora però il compilatore mi dice

"parse error at end of input"
in corrisponmdenza di righe vuote dopo il codice...... che vol dire??
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2002, 14:43   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Manca una grafa chiusa prima di system("PAUSE");

Le grafe mettile da sole in un raga...non come fai ora...altrimenti non ci capisci neinte...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2002, 19:29   #7
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
ho provato a renderlo piu leggibile...così compila ma...uffffff non ne faccio uno giusto al primo colpo che balle!!!
ma concettualmente mi sembra giusto!
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 08:12   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Attento che la scanf con parametro %s legge una sola parola dall'input (mentre la printf stampa fino alla fine della stringa)...
Usa la gets al posto della scanf...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 08:56   #9
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Attento che la scanf con parametro %s legge una sola parola dall'input (mentre la printf stampa fino alla fine della stringa)...
Usa la gets al posto della scanf...

Grazie,
mettendo gets (novità per quanto mi riguarda) il compilatore mi dice: too many arguments to function `gets'


come mai?
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 09:00   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Perchè la gets serve solo per le stringhe...

gets(riga);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 12:40   #11
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Perchè la gets serve solo per le stringhe...

gets(riga);

nel mio caso sono piu di una le stringhe...potrei assegnare ogni stringa ad una cella di un nuovo array...
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:18   #12
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
cionci...
ma giuda stitico!!!!!!
non ci riesco ma...ma... ma.... can del vacca!!!
ufff ci sto smanettando su ancora ma ormai sono andato in balla!


allora la procedura va ...almeno sono piuttosto convinto perche l'ho provata a parte....
ma per il resto meno di 0 secondo te puo andare come impostazione...come idea di fondo?
-carico in un array tutta una stringa
-con un puntatore inizio a scorrere l'array e passo ogni carattere in un altro array a[] , quando trovo uno spazio avvio la procedura piglatin sul contenuto dell array a che in teoria contiene la prima parola...
-fatta "la traduzione" della prima parola....procedo scorrendo l'array iniziale dalla posizione "dopo" lo spazio....e riinizio a caricare l'array a[] che a cui ho riimpostato l'indice a 0...

Codice:
#include <stdlib.h>
#include <stdio.h>
#define DIM 80

piglatin (char arr[], int dim)
{
 char *p=&arr[0];
 char *c;
 for (c=&arr[1]; c<=&arr[dim-1]; c++)
  printf ("%c", *c);
 printf ("%ca ",*p);
}



int main()
{
 int g=0;
 char riga [DIM];
 char a  [DIM];
 char *p;
 printf ("Scrivi una riga di testo\n");
 scanf ("%s",&riga[0]);
 for (p=&riga[0]; p<&riga[DIM]; p++,g++)
 {if (*p!=' ')
   a[g]=*p;
  else{
       p++;
       piglatin (a,g);
       g=0;
      }
 }
 system("PAUSE");
 return 0;
}
ma non va una "inchiama"
provo a trovare un diverso approcio...
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:18   #13
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
.
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:18   #14
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
.
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:18   #15
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
.
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:18   #16
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
.
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:18   #17
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
.
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:19   #18
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Scusate ho fatto un disastro...
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:21   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da MetalMassacre
[b]nel mio caso sono piu di una le stringhe...potrei assegnare ogni stringa ad una cella di un nuovo array...
Tu hai detto che devi leggere una riga... La gets legge una riga di testo...fino allo \n...

Altra soluzione fare una lettura carattere per carattere fino a quando viene immesso un \n o sono stati immessi 80 caratteri...
In questo caso dovrai mettere manualmente lo \0 in fondo dopo l'ultimo carattere letto...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2002, 14:49   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Secondo me stai facendo difficili le cose semplici...
Comunque ti ho corretto il codice...

Codice:
#include <stdlib.h>
#include <stdio.h>
#define DIM 80

void piglatin (char arr[], int dim)
{
	char *p=&arr[0];
	char *c;
	for (c=&arr[1]; c<=&arr[dim-1]; c++)
		printf ("%c", *c);
	printf ("%ca ",*p);
}



int main()
{
	int g=0;
	char riga [DIM];
	char a  [DIM];
	char *p;
	printf ("Scrivi una riga di testo\n");
	gets (riga);
	for (p=&riga[0]; p<&riga[DIM]; p++)
	{
		if (*p == '\0')
		{
			if(g > 0)
				piglatin(a, g);
			break; /*se raggiungo la fine della strina esco*/
		}
		if (*p!=' ')
			a[g++]=*p;
		else
		{
			if(g > 0)
				piglatin (a,g);
			g=0;
		}
	}
	system("PAUSE");
	return 0;
}
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia Recensione Sony Xperia 1 VII: lo smartphone per ...
Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
Cosa sappiamo sul decimo tentativo di la...
EHA Reader Awards 2025: i migliori prodo...
Il telescopio spaziale James Webb ha sco...
Gli astronauti cinesi in futuro utilizze...
Tesla cede alla pressione dei clienti: d...
I Vigili del Fuoco dell'Arizona ora usan...
Il fondatore di Waymo sfotte Tesla: &quo...
Robot che corrono, ballano e cadono: la ...
Perché acquistare costosi bus ele...
Google Pixel 10 Pro XL: il Tensor G5 se ...
TikTok e Instagram sotto accusa: ancora ...
Arriva la 'Superluna di Sangue' in Itali...
Xiaomi 15T e 15T Pro in arrivo in Europa...
Sicurezza dei minori, Roblox amplia i di...
POCO M7 debutta su Amazon con batteria d...
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: 00:55.


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