Problema c++

di il
4 risposte

Problema c++

Ciao a tutti, non reisco proprio a capire cosa sbaglio.

Il testo dice: Scrivere un programma che, dato un valore di N preimpostato ma modificabile, legge le coordinate di N punti in un array di Point (che rappresenta una spezzata o “polilinea”), e calcola e stampa la lunghezza totale della spezzata
#include <iostream>
#include<cmath>

using namespace std;

struct Point
{
    double x;
    double y;
};

int main()
{
    //Dichiarazione di variabili
    const int N = 10;
    double v[N];
    Point P1;
    Point P2;
    Point x;
    Point y;

    //Lettura delle coordinate di N punti
    cout << "Quanti punti vuoi inserire? (Il valore deve essere minore di 10) ";
    cin >> v[N];

    //Stampa la stringa "Inserire le coordinate del punto P1: "
    cout << "Inserire le coordinate del punto P1: ";

    //Lettura delle variabili x e y da input
    cin >> P1.x >> P1.y;

    //Stampa della stringa: "Inserire le coordinate del punto P2: "
    cout << "Inserire le coordinate del punto P2: ";

    //Lettura delle variabili x e y da input
    cin >> P2.x >> P2.y;

    //Calcola e stampa della lunghezza totale della spezzata
    cout << "La lunghezza totale della spezzata vale: ";

    for (int i = 0; i < N; i++)
    {
        cout << (fabs(P2.x - P1.x) + fabs(P2.y - P1.y)) * v[N];
    }

    return 0;
}
Ho avuto molti problemi anche nella dichiarazione dell'array perché ricevevo molti errori del compilatore, così ho ulizzato un'array di interi

4 Risposte

  • Re: Problema c++

    Ti ha chiesto un array di N elementi di tipo Point, mentre tu hai dichiarato un array di double e solo due variabili Point.
    Il for che hai scritto calcola è stampa N volte la stessa distanza.

    La spezzata ad esempio di 4 punti dovrebbe essere una cosa di questo tipo (non per forza sempre orizzontale, a meno che non abbiano tutti la stessa y):

    P0_____P1_______P2_______P3

    Quindi la lunghezza totale è la somma delle 3 distanze. I punti stanno nell'array.
  • Re: Problema c++

    Grazie per la tua risposta.
    Quante variabili Point devo dichiarare? Devo metterli io o l’utente?
  • Re: Problema c++

    N non deve essere costante e lo devi comunque chiedere *prima* all'utente (che deve poterne variare il valore)

    Ottenuto N devi dichiarare un array di Point

    Point v[N];
  • Re: Problema c++

    Ah ok grazie mille
Devi accedere o registrarti per scrivere nel forum
4 risposte