Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    152

    [C] Problema in esecuzione

    Ragazzi quando compilo questo codice non mi da problemi, compila correttamente, ma quando provo ad eseguirlo ( tutto questo con DEv ) mi dice "Problema.exe ha smesso di funzionare..."

    Io credo o almeno spero che il problema sia riferito ai tipi di variabile con quella espressione che si vede in basso, se poi provo a mettere anche la variabile i di tipo int, mi da questo errore :" invalid operands of types `int' and `float' to binary `operator^'", ho pensato che forse al posto dell' ^ come potenza devo usare la funzione pow, nel caso come la utilizzo ? E con quale libreira ? Aspetto consigli =D

    codice:
    #include<conio.h>
    #include<stdio.h>
    #include<iostream>
    #include<math.h>
    using namespace std;
    int main(){
    float p0=0,p1=0,err;
    int i=0;
    p1=((-1)^i)+(4/(i*2)+1);
    printf("inserisci il valore err: ");
    cin>>err;
    while(p1<err){
        p0=p1;
        i=i+1;
        p1=p0+((-1)^i)+(4/(i*2)+1);
    }
    printf("\n il valore piu piccolo che si avvicina ad err è:");
    cin>>p0;
    system("PAUSE");
    return 0;
    }

  2. #2
    codice:
    int i=0;
    p1=((-1)^i)+(4/(i*2)+1);
    qui stai facendo una divisione per zero (4/(i*2)=4/0), da cui l'errore che ti viene fuori.
    invalid operands of types `int' and `float' to binary `operator^'
    ^ non è l'operatore di elevamento a potenza, ma è lo xor binario. Devi usare la funzione pow dell'include math.h, qui la documentazione.

    Inoltre, il titolo indica C, ma stai usando cin e cout: vuoi parlare di C o C++?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    152
    Scusami hai ragione, sto parlando di C++, anche se poi alla fine ho usato il printf come output, ma vabbè...

    Ho corretto quello che dicevi, grazie per l'aiuto.

  4. #4
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.