Algoritma Sorusu

Tam olarak sözde kodu paylaşamama ama mantık şu.
Metni bir diziye al.
Dizinin elemanlarını gez.
Son elemandan itibaren geriye doğru ekrana yazdır.
 
Pseudocode olarak böyle diyebilirim sanırım.
Kod:
string buffer;
string text = "Hello world!";
for(i = 0, j = string_uzunlugu(text); i <= string_uzunlugu(text), j >= 0; i++, j--){

text[i] = buffer[j];


}
C kodundaki hali de bu şekilde.
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
  char text[12] = "Hello world!";
  char buffer[strlen(text)];
  for(int i = 0, j = strlen(text)-1; i <= strlen(text)-1, j>=0; i++, j--){
     
       buffer[i] = text[j];
     
     
     
    }
    printf("Original text: %s\n Reversed text: %s\n",text,buffer);
     return 0;
}
 
İteratif yöntemle, öncelikli olarak bu stringi bir diziye çevirerek ilk ve son indeksleri belirlemelisin. Sonrasında geçici bir değere ilk indekste bulunan değeri atayıp, sonrasında son indekste bulunan değeri ilk indekste bulunan değer ile değiştirmelisin. Sonrasında son indekse ise geçici değeri atamalısın. Bu şekilde iterasyon tamamladığında dizinin elemanları yer değiştirmiş olacak. Bu diziyi stringe çevirerek işlemi tamamlayabilirsin.


Pseudocode olarak böyle diyebilirim sanırım.
Kod:
string buffer;
string text = "Hello world!";
for(i = 0, j = string_uzunlugu(text); i <= string_uzunlugu(text), j >= 0; i++, j--){

text = buffer[j];

}
C kodundaki hali de bu şekilde.
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
char text[12] = "Hello world!";
char buffer[strlen(text)];
for(int i = 0, j = strlen(text)-1; i <= strlen(text)-1, j>=0; i++, j--){

buffer[I] = text[j];

}
printf("Original text: %s\n Reversed text: %s\n",text,buffer);
return 0;
}



Pseudo code olarak yazılan kısımda buffer ile text değişkenlerinin yeri değişirse daha doğru olur diye düşünüyorum.
 
Son düzenleme:
Tam bahsetmek istediğim şey bu ama ne kadar doğru bilemiyorum.

1- Başla.
2- Metin, dizi (iki tane değişken tanımladım).
3- Klavyeden girilecek metin (metini biz belirleyemiyoruz kullanıcın girmesi gereken metin).
4- ("metni giriniz") = kullanıcını girdiği metin.
5- Metin = dizi [0] (metni diziye atadım).
6- Dizi'nin tüm elemanlarını gez.
7- Dizinin son elemanından geriye doğru ekrana yazdır.
8- Son.
 
Tam bahsetmek istediğim şey bu ama ne kadar doğru bilemiyorum.

1- Başla.
2- Metin, dizi (iki tane değişken tanımladım).
3- Klavyeden girilecek metin (metini biz belirleyemiyoruz kullanıcın girmesi gereken metin).
4- ("metni giriniz") = kullanıcını girdiği metin.
5- Metin = dizi [0] (metni diziye atadım).
6- Dizi'nin tüm elemanlarını gez.
7- Dizinin son elemanından geriye doğru ekrana yazdır.
8- Son.
6. ve 7. adımı kısaltmak mümkün. Burada dizinin elemanlarını tersten gezerek karakterler sırası ile yazdırılabilir.
 

Yeni konular

Geri
Yukarı