Другие языки программирования и технологии
Помогите написать задачу в Pascal.
тема: Работа со строковыми переменными задача: Удалить из педложения (не менее 7 –ми слов) все нечетные.
тестить не на чем. поэтому как есть. прямо с блокнота. учитесь вы.... жалко вас. на готовое привыкли. это же интересно задачи решать, с этого и состоит программирование, потом облажаетесь же.
program raspizdyai_stroki_1;
usescrt;
var
slova[1..255]of string;
kol_word:byte;
predl:string;
i:byte;
begin
clrscr;
kol_word:=1;
writeln('vvod predlozheniya (>7 C/\OB)');
readln(predl);
//otdelyaet slova drug ot druga, i kazhdoe slovo v yacheiku massiva
for i:=1 to length(predl) do
begin
if predl<>' ' then
begin
slova[kol_word]:=slova[kol_word]+predl;
end
else
begin
inc(kol_word);
end;
end;
//pechat ne chetnih slov
for i:=1 to kol_word do
begin
//libo <>
//libo =
if (i mod 2)<>0 then
begin
write(slova,' ');
end;
writeln;
end;
repeat until keypressed;
end.
program raspizdyai_stroki_1;
usescrt;
var
slova[1..255]of string;
kol_word:byte;
predl:string;
i:byte;
begin
clrscr;
kol_word:=1;
writeln('vvod predlozheniya (>7 C/\OB)');
readln(predl);
//otdelyaet slova drug ot druga, i kazhdoe slovo v yacheiku massiva
for i:=1 to length(predl) do
begin
if predl<>' ' then
begin
slova[kol_word]:=slova[kol_word]+predl;
end
else
begin
inc(kol_word);
end;
end;
//pechat ne chetnih slov
for i:=1 to kol_word do
begin
//libo <>
//libo =
if (i mod 2)<>0 then
begin
write(slova,' ');
end;
writeln;
end;
repeat until keypressed;
end.
Доброго времени суток.
Все нечетные что? Слова, символы?
Если символы, то
for i:=Length(S) downto 1 do if i mod 2 = 1 then Delete(S, i, 1);
а если слова, то
S := S + ' '; {добавляем пробел к строке, чтобы не потерять последнее слово}
S1:= ''; {пустая строка для результата}
i := 1; {счетчик слов}
while Pos(' ', S) > 0 do begin {пока в строке есть пробел, а значит и слова}
if i mod 2 = 0 then S1 := S1 + Copy(S, 1, Pos(' ', S)); {если слово четное, добавляем его к результату}
Delete(S, 1, Pos(' ', S)); {и удаляем из входной строки }
end;
Delete(S1, Length(S1), 1); {если очень хочется, можем удалить последний пробел}
S := S1; {заменяем исходную строку результирующей}
Остальное (объявление переменных, ввод данных, вывод результата и оформление программы) сами, иначе это будет уже на помощь.
Удачи!
Все нечетные что? Слова, символы?
Если символы, то
for i:=Length(S) downto 1 do if i mod 2 = 1 then Delete(S, i, 1);
а если слова, то
S := S + ' '; {добавляем пробел к строке, чтобы не потерять последнее слово}
S1:= ''; {пустая строка для результата}
i := 1; {счетчик слов}
while Pos(' ', S) > 0 do begin {пока в строке есть пробел, а значит и слова}
if i mod 2 = 0 then S1 := S1 + Copy(S, 1, Pos(' ', S)); {если слово четное, добавляем его к результату}
Delete(S, 1, Pos(' ', S)); {и удаляем из входной строки }
end;
Delete(S1, Length(S1), 1); {если очень хочется, можем удалить последний пробел}
S := S1; {заменяем исходную строку результирующей}
Остальное (объявление переменных, ввод данных, вывод результата и оформление программы) сами, иначе это будет уже на помощь.
Удачи!
Похожие вопросы
- Помогите написать задачу на Pascal 7.0
- Помогите пожалуйста написать задачи на "Pascal"? Хотя бы несколько.
- помогите с задачей по Pascal abc!!!
- Помогите решить задачу в Pascal!
- Помогите с задачей на Pascal ABC
- Люди помогите написать программы для Pascal очень срочно и очень нужно
- Помогите составить задачу в Pascal
- Помогите решить задачи на Pascal...
- Помогите решить задачу на Pascal!)
- Помогите составить задачу на Pascal или С++