Yazdığım bu koda göre tekrar eden elemanları bulmak istiyorum ancak program mantık hatası veriyor nerede hata var göremedim yardımcı olabilir misiniz ?
#include<stdio.h>
main()
{
int tahmin[]={5,3,7,7,8,9,11,5};
int say[]={0,1,2,3,4,5,6,7,8,9,10};
int sayac=0;
for(int i=0; i<8; i++)
{
for(int j=0; j<11; j++)
{
if(tahmin[i]==say[j])
sayac++;
}
printf("%d sayisi %d kez tekrar ediyor\n ",tahmin[i],sayac);
sayac=0;
}
}
Bu koda bakınca şöyle birşey anladım ben :
tahmin dizisi içindeki sayıları tarayıp, say dizisinde de varsa sayaç artırılıyor bu durumda sadece 11 olmadığı için sayaç 7 çıkacaktır.
Bence sayac'ın kendiside dizi olsun, mesela tahmin içinde 5 rakamını gördüyse sayac dizininde 5. numaralı indeksi 1 artırsın. Tabi ki sayac dizisi elemanları başlangıçta 0 olmalı.
Bu koda göre tahmin dizisi içindeki rakamları saydırmış olmuyor muyum ?
şöyle olduğunu varsayalım mesela burada ilk döngü tahmin dizisinin ilk elemanı için dönmüş oluyor ve say dizisindeki elemanları tarıyor bulduğu zaman sayaç 1 artıyor bu şekilde tahmin dizisindeki kaç tekrar var onu saymış olmaz mıyım nerede mantık hatası var tam olarak ?
#include<stdio.h>
main()
{
int tahmin[]={5,3,7,7,8,9,5,5};
int say[]={0,1,2,3,4,5,6,7,8,9,10};
int sayac=0;
for(int i=0; i<8; i++)
{
for(int j=0; j<11; j++)
{
if(tahmin[i]==say[j])
sayac++;
}
printf("%d sayisi %d kez tekrar ediyor\n ",tahmin[i],sayac);
sayac=0;
}
}
}
#include <stdio.h>
int main()
{
int dizi1 = 8;
int dizi2 = 12;
int tahmin[] = {5, 3, 7, 7, 8, 9, 11, 5};
int say[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
int sayac[dizi2];
int m = 0;
for(int i = 0; i < dizi2; i++) sayac[i] = 0;
while(m < dizi1)
{
for(int z = 0; z < dizi2; z++)
{
if(say[z] == tahmin[m])
{
sayac[z]++;
}
}
m++;
}
for(int i = 0; i < dizi2; i++)
{
if(sayac[i] > 0)
printf("%d sayisi %d kez tekrar ediyor\n ", i, sayac[i]);
}
return 0;
}
@robikod sizin kodunuzda sayi (i) == tahmin (i) olarak değiştirip i ve j sayılarını değiştirirseniz çalışması lazım.
Normal Parantez kullandım köşeli parantez gözükmedi telefondan kaynaklı sanırım
Teşekkürler herkese :)