Mam następujący kod w c++, chcę definiować i wywoływać funkcję, która otrzymuje wartość początkową i końcową liczbę od użytkownika i wyświetla uporządkowane pary

0

Pytanie

Chcę utworzyć funkcję drukowania uporządkowanych par między początkowym i końcowym liczbą, na przykład. Enter: Wpisz początkowy numer 1, końcowy numer 5 Wyjście: (11)(12)(13)(14)(15) (22)(23)(24)(25) (33)(34)(35) (44)(45) (55) ale mój kod daje inny wniosek, poprawiam to

#include <bits/stdc++.h>
using namespace std;
void uniquePairs(int n) {
   for (int i = 1; i < n; ++i) {
      for (int j = i + 1; j < n; j++) {
         cout << "(" << i << "," << j << ")" << endl;
      }
   }
}
int main() {
   int n = 5;
   uniquePairs(n);
   return 0;
}
c++ integer unordered-set
2021-11-23 06:00:40
1

Najlepsza odpowiedź

1

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>.

2021-11-23 08:53:50

@user4581301 O, już zmienił go na #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 tego bits/stdc++.h"teraz do operacji.
Anoop Rana

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................