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
Przesunięcie alfabetu o zadana wartosc
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: U krasnoludów - pod górą
- Postów: 4730
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ć?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5676
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
#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;
}