C++ ' da aşağıdaki kodum var, kullanıcıdan başlangıç ve bitiş numarasını alan ve sıralı çiftleri görüntüleyen bir işlevi tanımlamak ve çağırmak istiyorum

0

Soru

Başlangıç ve bitiş sayıları arasında sıralı çiftleri yazdırmak için bir işlev yapmak istiyorum. Giriş: Başlangıç numarası 1 bitiş numarası 5 girin Çıktı: (11)(12)(13)(14)(15) (22)(23)(24)(25) (33)(34)(35) (44)(45) (55) ama kodum farklı çıktı veriyor, düzeltiyorum

#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

En iyi cevabı

1

İşlevinizi aşağıda gösterildiği gibi 1 yerine 2 bağımsız değişken alacak şekilde değiştirebilirsiniz. İlk argüman başlangıç numarasına karşılık gelir ve ikincisi bitiş numarasına karşılık gelir.

#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;
}

Girişler için yukarıdaki programın çıktısı startingNumber =1 ve endingNumber = 5 oluyor:

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)

Yukarıdaki programın çıktısı burada görülebilir. Ayrıca neden dahil etmemem gerektiğine bir göz atınh>?.

2021-11-23 08:53:50

@user4581301 Oh, zaten değiştirdim #include<iostream> orijinal cevabımda. Ama sonra biraz düzenleme yaptım ve kodu harici siteden tekrar yapıştırdım. #include<bits/stdc++.h>. Cevabımın düzenleme geçmişini görürseniz, sahip olduğumu göreceksiniz #include<iostream>. "Neden bunu kullanmıyorsunuz" a bir bağlantı ekledim bits/stdc++.h"OP artık.
Anoop Rana

Diğer dillerde

Bu sayfa diğer dillerde

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