Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-11-2005, 14: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, 17: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 developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 17: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, 18: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 developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 18: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, 18: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, 20: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 developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 21: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, 21: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, 21: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 developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet

Ultima modifica di andbin : 16-11-2005 alle 21:30.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 22: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


MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
iPhone 18, torna al centro dei rumor: pi...
JBL Quantum Stream quasi a metà prezzo s...
Questa e-bike sembra una moto, ma costa ...
Deepfake sessuali su App Store e Google ...
LG OLED C6 55'' a 1.099€ su Amazon, ma c...
Mustache Protocol, Henry Cavill crea un ...
Portatile HP con GeForce RTX 5070 e AMD ...
Su Amazon è febbre da low cost: e...
OpenAI ha trovato 948 vulnerabilit&agrav...
Rosstat hackerato: 23TB rubati, dentro a...
L'idropulitrice Cecotec da 2400W e fino ...
49€ sono davvero pochi per HP Envy 6120e...
SpaceX sceglie Qualcomm per la rete 5G t...
AMD mette la freccia e si prepara allo s...
Sony Santa Monica posticipa God of War L...
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: 09:33.


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