Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-11-2005, 13:31   #1
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
[C] Scambio di sottointervalli

Ciao.

Devo scrivere un programma che dato un vettore t[0,...,n-1] di interi di dimensione n ed una posizione 0<=m<=n-1, devo considerarlo diviso in due sotto intervalli t[0,...,m-1][m,...,n-1]. Mi deve restituire il vettore t con questi due sottointervalli intercambiati.
Cioè il vettore t in output deve essere t[m,...,n|0,...m-1].

Esempio
Input : t: =[1,2,3,4,5,6,7,8] e m:= 4
Output deve essere =[5,6,7,8,1,2,3,4]

Il codice l'ho scritto però ho notato che non stampa la parte "dopo lo scambio":

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

int *interscambio(int [], int, int);

int main(void){

    int i,n,m, *risultato;

    printf("Inserisci la lunghezza del vettore: ");
    scanf("%d", &n);

    int *t=(int*) malloc(sizeof(int)*n);

    for(i=0; i<n; ++i)
       scanf("%d", &t[i]);

    printf("Inserisci il punto in cui interscambiare: ");
    scanf("%d", &m);

    printf("Prima dello scambio: \n");
    for(i=0; i<n; ++i)
       printf("%d", t[i]);

    risultato=interscambio(t,n,m);

    printf("\nDopo lo scambio: \n%s");
    for(i=0; i<n; ++i)
       printf("%d", risultato[i]);

    return 0;
}

int *interscambio(int t[], int n, int m){

    int *aux=(int *) malloc(sizeof(int)*n);
    int i,k=0;

    for(i=m; i<n; ++i)
      aux[k++]=t[i];

    for(i=0; i<m; ++i)
      aux[k++]=t[i];

    return aux;
}
Chi mi può aiutare? Grazie.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 16:37   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Ciao, a parte il fatto che il tuo programma non è C ma C++, io l'ho provato e ti posso dire che stampa i dati dopo lo scambio.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 16:55   #3
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Come in C++??

Veramente è in ANSI C. E poi lo compilo tramite gcc e mi riesce a stampare fino a "Prima dello scambio".
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 17:07   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Manugal
Come in C++??

Veramente è in ANSI C. E poi lo compilo tramite gcc e mi riesce a stampare fino a "Prima dello scambio".
In "C" non si può dichiarare una variabile dopo aver eseguito delle istruzioni (il C++ permette questa cosa).

Codice:
scanf("%d", &n);

int *t=(int*) malloc(sizeof(int)*n);
Il sorgente come l'hai chiamato come estensione? .c, o altro??
Io l'ho provato con gcc su linux. Ho dovuto chiamarlo prova.cpp perché altrimenti se lo chiami prova.c il compilatore ti dice:

prova.c: In function `main':
prova.c:13: parse error before `int'
prova.c:16: `t' undeclared (first use in this function)
prova.c:16: (Each undeclared identifier is reported only once
prova.c:16: for each function it appears in.)
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 17:13   #5
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Non mi dire che è questo il problema . Ora provo e ti faccio sapere grazie.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 17:18   #6
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Ho provato a togliere la dichiarazione della variabile dopo lo scanf, ma non cambia niente.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 19:26   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Manugal
Ho provato a togliere la dichiarazione della variabile dopo lo scanf, ma non cambia niente.
Ciao, intanto, giusto per sapere, il tuo sorgente ha estensione .c? E se è .c non ti da errori in compilazione?? Usi il gcc in ambiente linux oppure in Windows (so che esiste un porting, anche se non l'ho mai usato)?
Fammi sapere ... a me funziona (in linux).
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 20:11   #8
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Alcune estensioni del C (supportate da GCC) supportano la dichiarazione dopo la prima istruzione nel blocco corrente.

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 20:16   #9
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Il compilatore in ogni caso non mi dava errori né prima né adesso che ho cambiato la dichiarazione delle variabili. Come estensione uso sempre .c. E uso Codeblocks come IDE (il quale usa gcc per compilare) sotto Windows.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 20:26   #10
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da AnonimoVeneziano
Alcune estensioni del C (supportate da GCC) supportano la dichiarazione dopo la prima istruzione nel blocco corrente.

Ciao
Sì, questo è vero. Come anche il fatto, ad esempio, che ormai la maggior parte dei compilatori "digerisce" bene il commento // anche nei sorgenti "C", nonostante non sia affatto valido nell'ANSI C.
Io ho provato il sorgente con il gcc 2.91.66 (molto vecchio ) e ho dovuto compilarlo come c++ altrimenti dava errore.
Personalmente uso (e consiglio di usare) sempre i parametri -ansi e -pedantic del gcc, in modo da assicurarsi che operi secondo lo standard. Ciao.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet

Ultima modifica di andbin : 16-11-2005 alle 20:30.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 21:01   #11
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Ho caoito grazie. Più che altro mi interessava che il programma funzionasse.
Manugal è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
La Camera USA presenta il conto: i data ...
Non solo EV, ma anche IA: Panasonic inau...
iPhone Duo, il debutto del pieghevole di...
Atlas 960E SuperPoD, la risposta di Huaw...
IA militare e nucleare: esperti USA e ci...
Dieci mini-reattori nucleari in Europa d...
CONTROL Resonant su PC: Path Tracing, Ra...
ColorOS 17 arriva su circa 90 dispositiv...
GTA VI, il multiplayer potrebbe debuttar...
Aggiornamento KB5002914 rompe Excel: ecc...
Processo Huawei a Brooklyn: l'FBI mostra...
WhatsApp introduce nuovi temi per le cha...
NVIDIA, Google e Emerald AI uniscono le ...
iPhone 18 Pro Max, il test sulla vapor c...
Fine estate in giardino: le proposte sco...
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: 23:29.


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