C De Bi Algoritma Yardımına İhtiyacım Var.
-
"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 -
Algoritmayı yazmadım ama scanf yerine getchar kullanmalısın.
-
Hocam do-while kullanarak yapsan daha kolay olmaz mı?
Birazdan @YeniHarman hocam konuya damlar o çözer bu işi :)
-
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; -
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; } }
-
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 -
#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ş.
-
Yardımcı olan herkese teşekkür ediyorum. Özellikle de @S2buyuk sizin kodunuz gayet sade ve güzel olmuş. Tekrardan teşekkürler.
-
İ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
-
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. -
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
