How can I remove the last comma from a loop in C++ in a simple way?
11,630
Solution 1
Don't remove the last comma. Instead insert commas before each entry except the first.
Solution 2
Just decide from a pre condition:
bool first = true;
for(j=2;j<=N;j++){
// ...
if(k==N) {
if(!first) {
cout << ',';
}
else {
first = false;
}
cout<<j;
}
Author by
Talha Gillani
Updated on June 13, 2022Comments
-
Talha Gillani almost 2 years
This program is for printing prime numbers till the input given and separating every prime number with a comma.
void main(){ int N, counter=0, isPrime; int k, j; cout << "Enter maximum range: "; cin >> N; for (j=2; j<=N; j++){ isPrime = 0; k = 2; while (k<j){ if (j%k==0){ isPrime++; } k++; } if (isPrime==0){ if (k==N){ cout << j; } else{ cout << j << ","; } counter++; } } cout << endl; system("pause"); }
It is only removing the last comma for prime number inputs, not for any other input. How can I fix this?
Input: 23 Output: 2,3,5,7,11,13,17,19,23 Input: 8 Output: 2,3,5,7, Input: 9 Output: 2,3,5,7,