IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите пожалуйста, Строковый тип
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Женский

Репутация: -  0  +


Напишите мне пожалуйста задички целимок, мне очень срочно...
1) Дан массив из шести слов. Длина каждого слова не более 10-ти букв. Если слово в массиве нечётной длины, то удалить из него первую букву.
2) Дано предложенгие (записано на одной строке). Напечатать все символы предложения, расположенные после первой запятой (запятые в предложение есть). ПОМОГИТЕЕЕ
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


У тебя хоть какие-нибудь наработки есть? Покажи. Используй Pos, Lenght, Delete...
Да и поиск помочь должен)))

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






1-ya zadacha:


var
a:array [1..6] of string;
b:byte;
Begin
For b:=1 to 6 do
Begin
ReadLn(a[b]);
If Odd(length(a[b]))=True then Delete(a[b],1,1);
End;
End.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость







var
a:string;
b:byte;
Begin
ReadLn(a);
For b:=Pos(',',a)+1 to length(a) do
Write(a[b]);
End.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


А я так поняла, что в 1-й надо еще и контролировать, сколько символов введут. Тогда будет так:
program odin(input,output);
uses wincrt;
var w: array [1..6] of string;
i: byte;
begin
for i:=1 to 6 do
begin
writeln('введите слово');
readLn(w[i]);
while length(w[i])>10 do
begin
writeln ('в слове должно быть не больше 10-ти символов. Повторите ввод');
readln (w[i]);
end;
if odd(length(w[i]))=true then delete(w[i],1,1);
writeln ('получилось: ',w[i],'');
end;
end.


Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Айра, здесь логичнее было бы пользоваться Repeat ... Until - дело в том, что слово-то введут хотя бы один раз в любом случае, а это значит, что проверять какое-то условие надо ПОСЛЕ действия, отсюда - цикл с ПОСТусловием, чтобы ReadLn не присутствовало дважды:

for i:=1 to 6 do
begin
writeln('введите слово');
repeat
readLn(w[i]);
if length(w[i]) > 10 then
writeln ('в слове должно быть не больше 10-ти символов. Повторите ввод');
until length(w[i]) <= 10;

if odd(length(w[i])) then delete(w[i],1,1); { <-- "= True" зачем? }
writeln ('получилось: ',w[i]);
end;

Если смущает повторное использование Length - тогда надо флаг заводить дополнительно...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
здесь логичнее было бы пользоваться Repeat ... Until

Согласна. Сразу не догадалась wink.gif и с odd(length(w[i])) тоже...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.09.2020 17:05
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name