Перевести код из паскаля в си uses crt; const maxslov=10; slovar: array[1..maxslov] of string = ('информатика','','','имя','паскаль','папка','сайт','вегас','телефон','пара'); pr: set of char=[' ','.',',','; ',': ','-','! ','? ']; var s,sl: string; i,j,k: byte; begin while (true) do begin write ('s='); readln(s); s: =s+ ' '; sl: =''; for i: =1 to length(s) do if not (s[i] in pr) then sl: =sl+s[i] else if length(sl)> 0 then begin k: =0; for j: =1 to maxslov do if slovar [j]=sl then inc(k); if k=0 then writeln ('слово " ',sl,'" написано неправильно,или не найдено в словаре.') else writeln ('слово ', sl, ' написано правильно.'); sl: =' '; end; end; end.
#include <iostream>
int main() {
int maxslov = 10;
char *slovar[maxslov];
slovar[0] = "Информатика";
slovar[1] = "Математика";
slovar[2] = "Алгебра";
slovar[3] = "Имя";
slovar[4] = "Паскаль";
slovar[5] = "Папка";
slovar[6] = "Сайт";
slovar[7] = "Вегас";
slovar[8] = "Телефон";
slovar[9] = "Пара";
char *pr[8] = {" ", ".", ",", ";", ":", "-", "!", "?"};
char *s, *sl;
int i, j, k;
bool punct;
while (true) {
std::cout<<"s=";
std::cin>>s;
s = strcat(s, " ");
sl = "";
for ( i = 0; i <= strlen(s); i++ ) {
for ( j = 0; j <= 8; j++ ) {
if ( strcmp(pr[j], s[i]) ) {
punct = true;
}
else {
punct = false;
}
}
if ( !(punct) ) {
sl = strcat(sl, s[i]);
}
else {
if ( strlen(sl) > 0 ) {
k = 0;
for ( j = 0; j <= maxslov; j++ ) {
if (slovar[j] = sl) {
k++;
}
}
if (k = 0) {
std::cout<<"Слово \""<<sl<<"\" написано неправильно,или не найдено в словаре."<<endl;
}
else {
std::cout<<"Слово \""<<sl<<"\" написано правильно."<<std::endl;
}
sl = " ";
}
}
}
}
return 0;
}