Możesz zmienić swoją funkcję, aby brała 2 argumenty zamiast 1, jak pokazano poniżej. Pierwszy argument odpowiada numeru startowego, a drugi-końcowy numer.
#include <iostream>
using namespace std;
//function uniquePairs takes 2 arguments now instead of just 1
void uniquePairs(int startingNumber, int endingNumber) {
int k = 0;
for (int i = startingNumber; i <= endingNumber; ++i) {
for (int j = startingNumber + k; j<= endingNumber; j++) {
cout << "(" << i << "," << j << ")" << endl;
}
++k;
}
}
int main() {
int startingNumber, endingNumber;
std::cout<<"Enter startingNumber: "<<std::endl;
std::cin >> startingNumber;
std::cout<<"Enter endingNumber: "<<std::endl;
std::cin >> endingNumber;
//call the function while passing the 2 input numbers
uniquePairs(startingNumber,endingNumber);
return 0;
}
Wniosek góry programu dla danych wejściowych startingNumber =1
i endingNumber = 5
jest:
Enter startingNumber:
1
Enter endingNumber:
5
(1,1)
(1,2)
(1,3)
(1,4)
(1,5)
(2,2)
(2,3)
(2,4)
(2,5)
(3,3)
(3,4)
(3,5)
(4,4)
(4,5)
(5,5)
Wyniki powyższej programu można zobaczyć tutaj. Również spojrzeć na to, dlaczego nie powinienem #obejmować <bits/stdc++.h>?<bits/stdc++.h>.
#include<iostream>
w mojej pierwszej odpowiedzi. Ale potem wprowadził pewne zmiany i ponownie wkleiłem kod z zewnętrznego serwisu, na którym było to#include<bits/stdc++.h>
. Jeśli zobaczysz historię edycji mojej odpowiedzi, zobaczysz, że u mnie był#include<iostream>
. Dodałem link do "dlaczego nie korzystać z tegobits/stdc++.h
"teraz do operacji.