2015-03-06 1 views
0

Je rencontre des difficultés extrêmes pour résoudre ce problème, je vous serais reconnaissant pour tout conseil. 1. J'essaie de créer un tableau de maillage. Cela devrait générer un vecteur de 50, 52, 54 56 ... 100. En débogage, je ne vois jamais l'augmentation du vecteur au-delà de 50. 2. J'essaie d'imprimer le tableau de maillage. Je ne peux pas utiliser ostream ici parce que ce n'est pas une classe. Donc, même si je pouvais faire fonctionner le vecteur, je ne sais pas comment l'imprimer.C++ réseau de maillage ostream

#include <vector> 
#include <iostream> 
using namespace std; 

vector<double> MeshArray(double start, double end, double h) 
{ 
    vector<double> mesh; 
    mesh.reserve(100); 
    for (double i = start; i <= end; i + h) 
     mesh.push_back(i); 
    return mesh; 
} 

int main() 
{ 
    vector<double> MA = MeshArray(50,100,2); 
    cout << MA; 
    return 0; 
} 
+0

'i + h' devrait être' i + = h'. De même, vous ne devez pas utiliser 'double 'comme compteur de boucle. Vous courez la chance de votre boucle en cours d'exécution un nombre incohérent de fois en raison de l'inexactitude à virgule flottante. – PaulMcKenzie

+0

'i + h' cette déclaration ne fait rien. Voulez-vous dire 'i + = h' –

+0

Pour imprimer:' pour (auto i: MA) cout << i << ""; ' –

Répondre

0
#include<iostream> 
#include"Header.h" 
#include<cstdlib> 
using namespace std; 
int main() 
{ 
    vector<double> MA = MeshArray(50, 100, 2); 
    int size = MA.size(); 
    for (int i = 0; i < size; i++) 
     cout << MA[i] << endl; 
    system("Pause"); 
    return 0; 
} 
+1

Veuillez ajouter un texte décrivant pourquoi votre solution est correcte ou l'expliquant. –

+0

cout << MA. ne peut pas avoir de sens. Vous devriez utiliser pour interater. BTW, pour le fichier d'en-tête. i + = h. –

0
#include<vector> 
#include<iostream> 
using namespace std; 

vector<double> MeshArray(double start, double end, double h) 
{ 
    vector<double> mesh; 
    mesh.reserve(100); 
    for (double i = start; i <= end; i += h) 
     mesh.push_back(i); 
    return mesh; 
}