#include #include #include #include void podmienPrzecinki (char *wyraz) { for (int i = 0; i < strlen(wyraz); i++) { if (wyraz[i] == ',') { wyraz[i] = '.'; } } return wyraz; } void podmienKropki (char *wyraz) { for (int i = 0; i < strlen(wyraz); i++) { if (wyraz[i] == '.') { wyraz[i] = ','; } } return wyraz; } void dodajWyraz (char *wyraz, char *liniaWyjscia, int koniec) { int poczatek = koniec - strlen(wyraz); for (int i = poczatek, j = 0; i < koniec; i++, j++) { liniaWyjscia[i] = wyraz[j]; } liniaWyjscia[koniec] = ' '; } int main() { char liniaWejscia[100]; char liniaWyjscia[100]; char wyraz[100]; printf("Wpisz tekst: "); gets(liniaWejscia); int dlugoscLinii = strlen(liniaWejscia); int j = 0; bool czyWyrazAnglosaski; int iloscCyfr; int iloscPrzecinkow; int iloscKropek; for (int i = 0; i <= dlugoscLinii; i++) { if (liniaWejscia[i] == ' ' || liniaWejscia[i] == '\0') { wyraz[j] = '\0'; czyWyrazAnglosaski = true; iloscCyfr = 0; iloscKropek = 0; iloscPrzecinkow = 0; for (int k = 0; k < strlen(wyraz); k++) { if (wyraz[k] >= '0' && wyraz[k] <= '9') { iloscCyfr++; } else if (wyraz[k] == ',') { if (iloscPrzecinkow == 0 && iloscCyfr < 4) { iloscCyfr = 0; iloscPrzecinkow++; } else if (iloscCyfr == 3){ iloscCyfr = 0; iloscPrzecinkow++; } else { czyWyrazAnglosaski = false; break; } } else if (wyraz[k] == '.') { if (iloscKropek < 2) { iloscKropek++; } else { czyWyrazAnglosaski = false; break; } } else { czyWyrazAnglosaski = false; break; } } if (czyWyrazAnglosaski) { if (iloscPrzecinkow > 0) { podmienPrzecinki(wyraz); } else { podmienKropki(wyraz); } } dodajWyraz(wyraz, liniaWyjscia, i); j = 0; memset(wyraz, 0, sizeof wyraz); } else { wyraz[j] = liniaWejscia[i]; j++; } } printf("Rezultat: "); for (int i = 0; i < dlugoscLinii; i++) { printf("%c", liniaWyjscia[i]); } printf("%c", '\n'); return 0; }