Przesunięcie alfabetu o zadana wartosc

Przesunięcie alfabetu o zadana wartosc
M9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 54
0

Przykładowo mam switcha który jest alfabetem. I ten alfabet chciałbym mieć przesuwany o zadana ilość przesunięć. Np podaj ile przesunięć wpisuje 2 i z A drukuje mi C i tak dalej. Że leci po literach i przesuwa alfabet o zadana wartość wpisana? Wie ktoś moze

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4730
2

Tłumaczenie automatyczne na język polski (chat gpt):

Chciałbym zaimplementować w C++ mechanizm przesuwania liter alfabetu o zadaną liczbę pozycji.
Na przykład: użytkownik podaje liczbę przesunięć (np. 2), a program powinien przesunąć literę o tę wartość w alfabecie — czyli z A zrobić C, z B zrobić D itd.
Chodzi o to, aby program przechodził po literach alfabetu i przesuwał je o podaną wartość.
Czy ktoś mógłby podpowiedzieć, jak to poprawnie zaimplementować?

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5676
2
jarekr000000 napisał(a):

Tłumaczenie automatyczne na język polski (chat gpt):

Chciałbym zaimplementować w C++ mechanizm przesuwania liter alfabetu o zadaną liczbę pozycji.
Na przykład: użytkownik podaje liczbę przesunięć (np. 2), a program powinien przesunąć literę o tę wartość w alfabecie — czyli z A zrobić C, z B zrobić D itd.
Chodzi o to, aby program przechodził po literach alfabetu i przesuwał je o podaną wartość.
Czy ktoś mógłby podpowiedzieć, jak to poprawnie zaimplementować?

nie wiem po co ci to tłumaczenie, już po tytule wiedziałem że chodzi i szyfr (kod) cezara

odpowiedź z czata

Kopiuj
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main() {
  char tekst[1000];
  int przesuniecie;

  printf("Podaj tekst do zaszyfrowania: ");
  fgets(tekst, sizeof(tekst), stdin);

  printf("Podaj przesuniecie: ");
  scanf("%d", &przesuniecie);

  for (int i = 0; tekst[i] != '\0'; i++) {
    if (isalpha(tekst[i])) {
      char baza = islower(tekst[i]) ? 'a' : 'A';
      tekst[i] = (tekst[i] - baza + przesuniecie) % 26 + baza;
    }
  }

  printf("Zaszyfrowany tekst: %s\n", tekst);

  return 0;
}
M9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 54
0

Dziękuję fajnie że jesteście. Dobrego dnia wam życzę. Dziekuje

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.