#include <algorithm> #include <iostream> #include <vector> using namespace std;
void vektor_bas(vector<int> v){ for_each(v.begin(), v.end(),[](int &k){cout<< k <<",";});}
int main() { vector<int> v{11,12,4,5,11}; vector<int> sirali_v(v.size()); copy(v.begin(), v.end(), sirali_v.begin()); sort(begin(sirali_v), end(sirali_v)); auto eleman = adjacent_find(begin(sirali_v), end(sirali_v)); vektor_bas(v); if (eleman != end(sirali_v)) cout << " da ayni eleman: " << *eleman << "\n"; else cout << " da ayni eleman yok" << "\n"; }
> g++ -o program.exe -DDEBUG=9 -ansi -pedantic -Wall -g program.cpp -std=c++11 > ./program.exe 11,12,4,5,11, da aynı eleman: 11
c++11'deki adjacent_find ile bir vektördeki aynı olan elemanları bulabilirsin. Doğal olarak, diziyi vektöre cevirmek, vektörü sort ile sıralamak gibi birkaç ön hazırlık yaptıktan sonra.
int dizi[] = { 1,10,2,2,3,8 }; bu dizideki ikililerin toplamını 2. bir diziye aktardım int toplamdizi[8]; while (i <= dizisayisi1) {
toplam = dizi + dizi[i + 1]; toplamdizi = toplam; i++;
}
şimdi sorum şu toplamdizi diye bir dizi şuan mevcut ve elemanları 11,12,4,5,11 dir hangi elemanların aynı olduğunu nasıl bulacağım 0.eleman ve 4. elemanın aynı olduğunu nasıl bulabilirim
Edit: Arkadaşlar kod tabiki bu kadar değil bunu çalıştırınca çalışmayacağını biliyorum sadece anlamanız için böyle yazdım
< Bu mesaj bu kişi tarafından değiştirildi Berk566 -- 18 Aralık 2021; 17:14:14 >
İç içe iki tane for döngüsü ile yapabilirsiniz. i ve k değişkenlerini index olarak düşünürsek, i ve k nın farklı ve toplamdizi ve toplamdizi[k] nın aynı olduğu durumları kontrol ederek bulabilirsin
Bu mesajda bahsedilenler: @Berk566