folder Tahribat.com Forumları
linefolder C - C++
linefolder C De Bi Algoritma Yardımına İhtiyacım Var.



C De Bi Algoritma Yardımına İhtiyacım Var.

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Dino
    Dino's avatar
    Kayıt Tarihi: 30/Nisan/2015
    Erkek

    "Klavyeden sürekli sayı girilecek. Girilen sayılar arka arkaya 1, 2, 3 olunca program sonlanacak." Şimdi ben bi if'ler ve bi for la bişe yaptım ama girilen sayılar örneğin 1,1,2,3 girilince kabul olmuyor. Buna daha sağlam bi algoritma nasıl olur. benim yaptığım 

    int i=0, A=1, B=2 ,C=3;
      for(i;i!=1;){
        scanf("%d",&A);
        if(A==1){
          scanf("%d",&B);
          if(B==2){
            scanf("%d",&C);
            if(C==3){
              i++;
            }
          }
        }
      }

     

     

    Dino tarafından 20/Ara/15 21:29 tarihinde düzenlenmiştir

    Kendisinin nasıl bir sistemle çalıştığını anlamak isteyen organ, maalesef çoğu insanda tam randıman vermiyor.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fatih54
    Fatih54's avatar
    Kayıt Tarihi: 16/Ağustos/2012
    Erkek

    Algoritmayı yazmadım ama scanf yerine getchar kullanmalısın.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    motka
    motka's avatar
    Kayıt Tarihi: 28/Ekim/2012
    Erkek

    Hocam do-while kullanarak yapsan daha kolay olmaz mı?

    Birazdan @YeniHarman hocam konuya damlar o çözer bu işi :)

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bosluk
    Bosluk's avatar
    Kayıt Tarihi: 11/Kasım/2007
    Erkek
    int main(int argc, char** argv) {
    	
    	char a[100] ;
    	char b[100];
    	int i;
    	cout<<("Sayi girin");
    	for(i=0;i<=100;i++){
    	cin>> a[i];
        
        a[i]=b[i];
        
        if(b[i]==1 && b[i+1]==2 && b[i+2]==3)
    	
    	{
      
         exit(0);
        	
    	}
        
        
    }
    	
    	system("pause");
    	return 0;

     


    ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    S2kucuk
    S2kucuk's avatar
    Banlanmış Üye
    Kayıt Tarihi: 06/Haziran/2015
    Erkek
    Bosluk bunu yazdı
    int main(int argc, char** argv) {
    	
    	char a[100] ;
    	char b[100];
    	int i;
    	cout<<("Sayi girin");
    	for(i=0;i<=100;i++){
    	cin>> a[i];
        
        a[i]=b[i];
        
        if(b[i]==1 && b[i+1]==2 && b[i+2]==3)
    	
    	{
      
         exit(0);
        	
    	}
        
        
    }
    	
    	system("pause");
    	return 0;

     

    100 tane 1 yazarsam programın kapanır.

     

    int num, state;
    
    while(1){
    	printf("Enter a number:");
        scanf("%d", &num);
    
        if(num == 1){
    		state = 1;
        }else if(state == 1 && num == 2){
    		state = 2;
    	}else if(state == 2 && num == 3){
    		printf("Bye Bye");
    		exit(0);
    	}else{
    		state = 0;
    	}
    
    }


     

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Odd Emoji 3D
    BerkayCit
    BerkayCit's avatar
    Kayıt Tarihi: 25/Şubat/2011
    Erkek

    emin değilim ama sanırım oldu :D

    #include<stdio.h>
    #include<stdbool.h>
    
    int main(void)
    {
    	int sayi1, sayi2, sayi3;
    	bool deger1 = false, deger2 = false, deger3=false;
    	
    	while(1)
    	{
    		scanf("%d", &sayi1);
    		scanf("%d", &sayi2);
    		scanf("%d", &sayi3);
    		
    		if(sayi1==1) deger1 = true;
    		else if(sayi1!=1) deger1 = false;
    		
    		if(sayi2==2 && deger1==true) deger2=true;
    		else if(sayi2!=2) deger2 = false;
    		
    		if(sayi3==3 && deger1==true && deger2==true) deger3=true;
    		else if(sayi3!=3) deger3 = false;
    		
    		if(deger1==true && deger2==true && deger3==true) break;
    	}
    }



     

    BerkayCit tarafından 20/Ara/15 22:10 tarihinde düzenlenmiştir

    havalı bir şeyler yazdığımı hayal edin
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek
    #include<stdio.h>
    #include<stdlib.h>
    int main(void) {
    	int stop = 1, number;
    	while (stop < 4) {
    		printf("%d", stop);
    		switch (stop) {
    			case 1 :
    				scanf("%d", &number);			
    				if (number == 1) 
    					stop++;
    				else 
    					stop = 1;
    				break;
    			case 2 :
    				scanf("%d", &number);			
    				if (number == 2) 
    					stop++;
    				else 
    					stop = 1;
    				break;
    			case 3 :
    				scanf("%d", &number);			
    				if (number == 3) 
    					stop++;
    				else
    					stop = 1;
    				break;
    		}
    	}
    	system("pause");
    	return(0);
    }

     

    Dummy bir kod yazdım işine yarar inş.


    Hello, i am nothing. I come from Neverland.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Dino
    Dino's avatar
    Kayıt Tarihi: 30/Nisan/2015
    Erkek

    Yardımcı olan herkese teşekkür ediyorum. Özellikle de  @S2buyuk sizin kodunuz gayet sade ve güzel olmuş. Tekrardan teşekkürler.


    Kendisinin nasıl bir sistemle çalıştığını anlamak isteyen organ, maalesef çoğu insanda tam randıman vermiyor.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    İstek üzerine:)

    #include <stdio.h>
    
    int buffer[3] = {};
    
    int CheckCondition()
    {
    	if (buffer[0] == 3 
    	    && buffer[1] == 2 
    	    && buffer[2] == 1)
    	{
    		return 0;
    	}
    	return -1;
    }
    void AddToBuffer(int Number)
    {
    	buffer[2] = buffer[1];
    	buffer[1] = buffer[0];
    	buffer[0] = Number;
    }
    int main() {
    	
    	int tmp = 0;
    	while(true)
    	{
    		scanf("%d", &tmp);
    		AddToBuffer(tmp);
    		
    		printf("Buffer: %d %d %d\r\n", buffer[0], buffer[1], buffer[2]);
    		if(CheckCondition() == 0)
    		{
    			printf("OK! Exiting...");
    			break;
    		}
    	
    	}
    	
    	return 0;
    }

    FILO kullanmış olduk. Deneme: http://ideone.com/9PSYmJ

     


    Olaylara karışmayın!
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Dino
    Dino's avatar
    Kayıt Tarihi: 30/Nisan/2015
    Erkek
    YeniHarman bunu yazdı

    İstek üzerine:)

    #include 
    
    int buffer[3] = {};
    
    int CheckCondition()
    {
    	if (buffer[0] == 3 
    	    && buffer[1] == 2 
    	    && buffer[2] == 1)
    	{
    		return 0;
    	}
    	return -1;
    }
    void AddToBuffer(int Number)
    {
    	buffer[2] = buffer[1];
    	buffer[1] = buffer[0];
    	buffer[0] = Number;
    }
    int main() {
    	
    	int tmp = 0;
    	while(true)
    	{
    		scanf("%d", &tmp);
    		AddToBuffer(tmp);
    		
    		printf("Buffer: %d %d %d\r\n", buffer[0], buffer[1], buffer[2]);
    		if(CheckCondition() == 0)
    		{
    			printf("OK! Exiting...");
    			break;
    		}
    	
    	}
    	
    	return 0;
    }

    FILO kullanmış olduk. Deneme: http://ideone.com/9PSYmJ

     

    Çok teşekkür ediyorum.
    Bir fonksiyonun dışında dizi tanımlanabilindiğini öğrenmiş oldum bir de.

    Aklımda C ile 3D printer yapma fikri vardı, takıldığım zamanlarda yardım alabileceğim insanlar olduğunu da öğrenmiş oldum.

     


    Kendisinin nasıl bir sistemle çalıştığını anlamak isteyen organ, maalesef çoğu insanda tam randıman vermiyor.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    compiler'dan yazmıyorum kendin derlersin:

    Yöntem olarak Finite State Machine kullandım. Otomata Teorisi dersinde görürüsünüz eğer bilg. müh. okuyorsan.

     

    int main(){
    
    int durum = 0;
    int girilenSayi = 0;
    
    while(durum !=3)
    {
      scanf("%d", &girilenSayi);
      switch(girilenSayi)
      {
        1:durum=1; break;
        2:if(durum == 1) durum=2; else durum=0; break;
        3:if(durum == 2) durum=3; else durum=0; break;
      }
    }
    return 0;
    }



     

     

     

     

    DrKill tarafından 21/Ara/15 01:00 tarihinde düzenlenmiştir

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
Toplam Hit: 2569 Toplam Mesaj: 11
c c programming