Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-04-2009, 16:01   #1
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
[C]Errore relativo

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

int main()
{
    int n,i, diff;
    puts("Numbers :");
    scanf("%d", &n);
    int res[n], res_d[n];
    puts("\tGauss Formula");
    for(i = 0; i < n; i++)
    {
        res[i] = (i*(i+1))/2;
        printf("( %d ) = %d\n", i , res[i]);
    }
    puts("\tAsinptotic formula");
    for(i = 0; i < n;i++)
    {
        res_d[i] = i*i/2;
        printf("( %d ) = %d\n", i , res_d[i]);
    }
    puts("\tError");
//    for(i = 0; i < n;i++)
//    {
//        diff = (int)(abs(res_d[i]-res[i])/res[i])*100;
//        printf("( %d ) = %d\n", i , diff);
//    }
    return 0;
}
Il problema è il codice commentato...mi da errore di lettura/scrittura in memoria.

Ciao a tutti e buona pasquetta.
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2009, 17:23   #2
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
Temo che non sia possibile, o almeno non standard dichiarare array dinamici in questo modo:
Codice:
int res[n], res_d[n];
Prova con:
Codice:
int *res = (int*)malloc(n * sizeof(int));
int *res_d = (int*)malloc(n * sizeof(int));
...
free(res);
free(res_d);
Comunque non so esattamente cosa causi l'errore
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2009, 17:34   #3
Volutomitra
Member
 
Iscritto dal: Feb 2006
Messaggi: 134
Quote:
Originariamente inviato da stdecden Guarda i messaggi
Temo che non sia possibile, o almeno non standard dichiarare array dinamici in questo modo:
Codice:
int res[n], res_d[n];
Prova con:
Codice:
int *res = (int*)malloc(n * sizeof(int));
int *res_d = (int*)malloc(n * sizeof(int));
...
free(res);
free(res_d);
Comunque non so esattamente cosa causi l'errore
Inoltre, quando i = 0, res[0] = res_d[0] = 0 (sono interi) e quindi c'è uno 0/0 nel codice commentato.
Volutomitra è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2009, 18:33   #4
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Ho sistemato i cicli partendo da 1 e il malloc ma..
Ora mi da il primo 100 di errore e poi sempre 0... non riesco a capire ma sembra che l'errore sia qui

Codice:
        diff = (int)(abs(res_d[i]-res[i])/res[i])*100;
        printf("( %d ) = %d\n", i , diff);
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go

Ultima modifica di The_ouroboros : 13-04-2009 alle 18:36.
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2009, 19:10   #5
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
Prova a scrivere:

Codice:
diff = (int)((abs(res_d[i]-res[i])/(float)res[i])*100);
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2009, 22:31   #6
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void write_out(int n, FILE *file);

int main()
{
    int n;
    puts("Numbers: ");
    FILE *file = fopen("out.txt","a+");
    scanf("%d", &n);
    fprintf(file,"## Difference between Gauss' formula and asimptotic formula for %d numbers ## \n", n);
    if(n > 80) { puts("Error: Out of range!"); fclose(file); getchar(); return 0; }
    write_out(n, file);
    fclose(file);
    return 0;
}

void write_out(int n, FILE *file)
{
    int i, diff;

    int *res   = (int *)malloc(n * sizeof(int)),
        *res_d = (int *)malloc(n * sizeof(int));

    fprintf(file,"\tGauss Formula for %d numbers\n", n);
    for(i = 1; i < n; i++)
    {
        res[i] = (i*(i+1))/2;
        fprintf(file,"( %d ) = %d\n", i , res[i]);
    }

    fprintf(file,"\tAsinptotic formula for %d numbers\n", n);
    for(i = 1; i < n;i++)
    {
        res_d[i] = i*i/2;
        fprintf(file,"( %d ) = %d\n", i , res_d[i]);
    }

    fprintf(file,"\tError for %d numbers\n", n);
    for(i = 1; i < n;i++)
    {
        diff = ((abs(res_d[i]-res[i])/(float)abs(res[i]))*100);
        fprintf(file,"( %d ) = %d%% \n", i , diff);
    }

    free(res);
    free(res_d);
}
// :-
Il codice finale, se servisse a qualcuno
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 10:55   #7
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da stdecden Guarda i messaggi
Temo che non sia possibile, o almeno non standard dichiarare array dinamici in questo modo:
Codice:
int res[n], res_d[n];
Prova con:
Codice:
int *res = (int*)malloc(n * sizeof(int));
int *res_d = (int*)malloc(n * sizeof(int));
...
free(res);
free(res_d);
Comunque non so esattamente cosa causi l'errore
è perfettamente lecito secondo c99
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
Intel prepara un SoC da 700 TOPS: Razor ...
I nuovi Xreal 1 Pro+ arrivano in Europa ...
La GeForce RTX 5090 non è morta: ...
HONOR Win2 si mostra online: potenza da ...
Clamoroso dietrofront di Sony: cancellat...
GeForce NOW, tante novità con l'u...
Il mercato smartphone rallenta nel Q3 20...
Addio al Valve Index: fine della produzi...
Seggiolini auto i-Size da 0 a 12 anni in...
Amazon determina i prezzi di tutto il we...
Robot aspirapolvere ECOVACS in offerta s...
Bodywel F20PRO o DEEPOWER A5? Due fat bi...
Gli agenti AI non diventano pazzi, sono ...
Kenwood Chef XL 6,7L a 239€ su Amazon: u...
Sconto al check-out a sorpresa: Smart TV...
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: 18:51.


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