Program odwracający tekst i zamieniający cyfry

0

Hej mam program który odwraca tekst ale potrzebuje żeby jeszcze zamieniał cyfry 0 na 9 8 na 1 itp.
Czy ten program da się przerobić żeby tak działał i jeżeli tak to jak to zrobić.

#include <stdio.h>

int main()
{
   char s[50], r[50];
   int begin, end, count = 0;

   gets(s);

   // Calculating string length

   while (s[count] != '\0')
      count++;

   end = count - 1;

   for (begin = 0; begin < count; begin++) {

      r[begin] = s[end];
      end--;
   }

   r[begin] = '\0';

   printf("%s\n", r);

   return 0;
}
0

Z czym konkretnie masz problem?
r[begin] = s[end]; po tej linijce w r[begin] masz nowy znak, wystarczy sprawdzić czy jest liczbą, jeśli jest, to trzeba go "obrócić".

2

Do pobrania długości ciągu jest funkcja strlen. Do sprawdzenia, czy dany znak zawiera cyfrę, masz funkcję isdigit. Jeśli znak zawiera cyfrę to wykonaj proste odejmowanie na podstawie kodów ASCII.

0

masz na myśli zamianę ciągu np. japko na okpaj ?... w przypadku cyfr wystarczy że potraktujesz je jako inta i odejmiesz od 9 liczbe, np.:

c9 - 8 = 1 // 9 - 5 = 4

w tym przypadku jeśli miałbyś liczba:

9 - 9 = 0
9 - 8 = 1
9 - 7 = 2
9 - 6 = 3
9 - 5 = 4
9 - 4 = 5
9 - 3 = 6
9 - 2 = 7
9 - 1 = 8 //tak jak podałeś w przykladzie

dla wiekszych liczb wystarczy zwiększyć 9 do odpowiednio duzej wartości

liczby oraz znaki mozesz zamienic latwo przy uzyciu a = a + b - ( b = a );
przyjmijmy ze liczba a ma wartosc 5 a liczba b ma wartosc 13

int a = 5;
int b = 13;

a = 5 + 13 - ( b[13] = a[5] );
a = 18 - 13
a = 5; b = 13;

przypisania wartości możesz dodawać PRAWIE wszędzie gdzie chcesz :P
a metoda a = a + b - ( b = a ); jest zgrabniejsza i nie wymaga 3 wartości do podmianki

dla ciekawostki powiem że możesz też zapisać np. ++a+1 albo ++a*=5 czy inne szalone kombinacje :P

aby nie było nie lubię czytać nie swojego kodu więc twojego nie czytałem
ale tam wyżej masz napisane jak podmienić liczby tak jak chciałeś :P

9 - 8 = 1;

w tym przypadku zamieniliśmy liczbę 8 na 1 :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0