C programlama'da girilen değere kadar döndürme

Sanırım böyle bir şey istiyorsunuz.
Anlamadığınız bir şey olursa sorabilirsiniz.

Kod:
#include <stdio.h>

int main(){
   
    int num = 0;
   
    printf("Deger giriniz: ");
    scanf("%d", &num);
   
    for(int i = 1; i <= num; ++i){
        for (int j = 1; j <= i; ++j){
            printf("%d", j);
        }
        printf("\n");
        // nokta koyulacaksa
        // printf(".\n");
    }

    return 0;
}
 
Sanırım böyle bir şey istiyorsunuz.
Anlamadığınız bir şey olursa sorabilirsiniz.

Kod:
#include <stdio.h>

int main(){
 
    int num = 0;
 
    printf("Deger giriniz: ");
    scanf("%d", &num);
 
    for(int i = 1; i <= num; ++i){
        for (int j = 1; j <= i; ++j){
            printf("%d", j);
        }
        printf("\n");
        // nokta koyulacaksa
        // printf(".\n");
    }

    return 0;
}

Nokta ve \n loop disinda olmali sanki. Kac girilirse girilsin 1 tane var.
Benim hatam. input 1 defa girilecek gibi duruyor.
 
Sanırım böyle bir şey istiyorsunuz.
Anlamadığınız bir şey olursa sorabilirsiniz.

Kod:
#include <stdio.h>

int main(){
  
    int num = 0;
  
    printf("Deger giriniz: ");
    scanf("%d", &num);
  
    for(int i = 1; i <= num; ++i){
        for (int j = 1; j <= i; ++j){
            printf("%d", j);
        }
        printf("\n");
        // nokta koyulacaksa
        // printf(".\n");
    }

    return 0;
}
yardımınız için teşekkür ederim ama verdiğiniz kodlarınızı buna uyarlayamadım.
Kod:
int main(){
    int a,giris;


        printf("Sayi Giriniz:");
        scanf("%d",&giris);

        for(a = 0; a<=giris*2-1; a=a+2){
                printf( "%d ", a);
    }
    for(a = giris; a<giris*2; a=a+1){
            printf( "%d ", a);
    }
    {
           printf("\n");

    return 0;
}
}
 
stdio.h kütüphanesini eklememişsiniz.
Değişkenleri ilklendirmek (ilk değerlerini vermek) iyi bir alışkanlıktır. Çeşitli durumlarda sapıtmalara yol açabiliyor.
Girintilere dikkat edin. Mesela ilk printf, scanf vefor döngüsü niyeyse 2 Tab kadar içeride.
Şu ana kadar dediklerimi düzelttim. Hali böyle.
Kod:
#include <stdio.h>

int main(){
    int a = 0;
    int giris = 0;

    printf("Sayi Giriniz:");
    scanf("%d",&giris);

    for(a = 0; a<=giris*2-1; a=a+2){
        printf( "%d ", a);
    }
    
    for(a = giris; a<giris*2; a=a+1){
        printf( "%d ", a);
    }
    
    {
           printf("\n");

    return 0;
    }
}

Alttaki printf ve return 0; boş bir scope'un içinde. Gerek yok.
Koda bu halde bakınca çalışıyor. Sayı istiyor. 5 girdim. Sonuç böyle.
0 2 4 6 8 5 6 7 8 9
Amacınızın bu olup olmadığını bilmediğim için bir şey diyemiyorum.

Kodu incelersem; a'nın döngü değişkeni olduğunu fark ediyorum. Benim başta attığım koddaki gibi döngü içerisinde tanımlarsanız o scope dışında tanımsız olur. O anda işinizi görür ve silmiş olursunuz. Öyle daha rahat bence. Çoğu iyi kişi de öyle yapar.
a'nın giris değişkeninin 2 katından 1 eksik olana kadar devam etmesini sağlamışsınız. Her dönüşte a'nın değerini 2 artırmışsınız. Bu da çıktımızdaki 0, 2, 4, 6, 8'lik kısım oluyor. giris değişkenini 5 olarak verdiğim için a değişkeni 9'a küçük eşit olduğu sürece cevap etti. 10 olunca bıraktı, çıktı döngüden.
İkinci döngüde a değişkenine giris değişkenini atıyorsunuz. giris değişkeninin 2 katından küçük olduğu sürece devam ediyor. Her dönüşte a'nın değerini 1 artırmışsınız. Bu da çıktımızda geriye kalan 6, 7, 8, 9 kısmını yapıyor. a değişkeni 10 olunca giris'in 2 katından, yani 10'dan küçük olmadığı için döngü dışına çıkılıyor.
Sonra bir adet printf("\n"); var. Gelecek işlemlerde alt satıra geçmiş olmak için.

Sizin istediğiniz bunu yapması mıydı? Öyle değilse ne yapmaya çalıştınız?
 

Geri
Yukarı