C dilinde her seferinde tekrarsız farklı sayı oluşturma

KS
Musa B.

Musa B.

Hectopat
Katılım
1 Ekim 2017
Mesajlar
1.182
Makaleler
2
Çözümler
8
Beğeniler
682
Farklı sayıdan kastın program her çalıştığında farklı sonuç vermesi mi yoksa sonuçlar içinde aynı sayı olmaması mı?
Program her çalıştığında 1´den 16´ya kadar olan sayılar farklı düzende olacak. En azından hocanın anlatımından bunu anladım. Sorunun ekran görüntüsü:
1606231224125.png
 

Berkay Davas

Megapat
Katılım
24 Temmuz 2019
Mesajlar
4.675
Makaleler
6
Çözümler
85
Beğeniler
6.667
Yer
İstanbul
Program her çalıştığında 1´den 16´ya kadar olan sayılar farklı düzende olacak. En azından hocanın anlatımından bunu anladım. Sorunun ekran görüntüsü: Eki Görüntüle 749291
Bu rastgele olmuyor ama kullanıcıdan alınmanız istemiş sayıları. Bunun için diziler kullanman gerekiyor. Rastgele sayı oluşturman gerekmiyor.
 
KS
Musa B.

Musa B.

Hectopat
Katılım
1 Ekim 2017
Mesajlar
1.182
Makaleler
2
Çözümler
8
Beğeniler
682
Bu rastgele olmuyor ama kullanıcıdan alınmanız istemiş sayıları. Bunun için diziler kullanman gerekiyor. Rastgele sayı oluşturman gerekmiyor.
Hocam öncelikle teşekkürler tekrardan. Hocaya yazdığımda bana hiç net bir cevap vermedi ve en son "kullanıcıdan giriş alın, siz yazdırın farklı sayılar" dedi. Ben de şuan kullanıcıya "Sayılar rastgele sıralansın mı?" şeklinde sorup bir giriş alacağım ve eğer giriş "Y" ise 1´den 16´ya kadar olan sayıları rastgele sıralatmak istiyorum. Bunu dizileri kullanmadan yapma şansım var mı? 4 satır ve her satırda 4 sayı olacak şekilde?
 

Berkay Davas

Megapat
Katılım
24 Temmuz 2019
Mesajlar
4.675
Makaleler
6
Çözümler
85
Beğeniler
6.667
Yer
İstanbul
Hocam öncelikle teşekkürler tekrardan. Hocaya yazdığımda bana hiç net bir cevap vermedi ve en son "kullanıcıdan giriş alın, siz yazdırın farklı sayılar" dedi. Ben de şu an kullanıcıya "Sayılar rastgele sıralansın mı?" Şeklinde sorup bir giriş alacağım ve eğer giriş "Y" ise 1´den 16´ya kadar olan sayıları rastgele sıralatmak istiyorum. Bunu dizileri kullanmadan yapma şansım var mı? 4 satır ve her satırda 4 sayı olacak şekilde?
O zaman bunu dene. Ama bence hocan bile ne anlattığını bilmiyor haberin olsun.

C:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void) {
  char isRandom;

  printf("Rastgele yazilsin mi? ");
  scanf("%c", &isRandom);

  if (isRandom == 'y' || isRandom == 'Y'){
    srand(time(NULL));
    for (int row = 0; row < 4; row++){
      for (int col = 0; col < 4; col++){    
        int random = rand() % 16;    
        if (random < 10){
          printf("  %d", random);
        } else if (random >= 10 && random <= 16){
          printf(" %d", random);
        }    
      }
      printf("\n");
    }
  } else if (isRandom == 'n' || isRandom == 'N'){
    for (int i = 1; i <= 16; i++){    
      if (i < 10){
        printf("  %d", i);
      } else if (i >= 10 && i <= 16){
        printf(" %d", i);
      }
      if (i % 4 == 0)
        printf("\n");
    }
  } else{
    printf("Geçersiz bir deger girildi.");
  }
   
  return 0;
}
 
W

WD40

Ziyaretçi
Döngü ve sorgu kullanarak önceki oluşturulan dizinin elemanlarını yeni oluşturulan dizi ile karşılaştırabilirsin. Eğer sıralama tamamen farklıysa da yeni dizi ekrana yazdırılır.
 

Berkay Davas

Megapat
Katılım
24 Temmuz 2019
Mesajlar
4.675
Makaleler
6
Çözümler
85
Beğeniler
6.667
Yer
İstanbul
Bu nedir?
printf("%3d", i); yeterliydi.
Evet, aşağıdaki alan yerine senin attığın kullanılabilir ama arkadaş için bunu sorgular kullanarak yapması onun için daha yararlı olacaktır.

C:
if (i < 10){
    printf(" %d", i);
} else if (i >= 10 && i <= 16){
    printf(" %d", i);
}
 

Yeni konular

Yukarı