Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/30: Рейтинг темы: голосов - 30, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 06.12.2009
Сообщений: 7

Определить, сколько фамилий в списке имеют окончание «ова»

23.12.2009, 13:25. Показов 6064. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задан список из 8 фамилий. Определить, сколько фамилий в списке имеют окончание «ова»
вот что написал,но не работает.помогите
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program n22;
uses crt;
var 
 mas:array[1..8] of string;
 i,k:integer;
begin
clrscr;
for i:=1 to 8 do
begin
k:=0;
 writeln('slova:',i);
  readln(mas[i]);
if pos('ова',k)<>0 then k:=k+1;
 write('ова встречается ',k,' раз(а)');
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.12.2009, 13:25
Ответы с готовыми решениями:

Определить, сколько фамилий в списке группы, имеют окончания «ов»;
помогите !!!!!!!!!!!!!!!

Определить, сколько фамилий в списке заканчиваются на букву «н».
Определить, сколько фамилий в списке заканчиваются на букву «н».(фамилии должен вводить пользователь)

В заданном списке фамилий найти первую самую короткую фамилию и число фамилий с такой же длиной
Список фамилий из x человек. Длина каждой не более y символов. Напечатать первую самую короткую фамилию и число фамилий с такой же длиной. ...

7
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
23.12.2009, 13:30
а если перед последним end написать readln?
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
23.12.2009, 13:36
котик, ну у Вас здесь неверный подход. Функция pos ищет первое вхождение. А оно необязательно может быть в конце + много ошибок. Так что тут надо делать несколько иначе:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses
  crt;
var
  mas:array[1..8] of string;
  i,k:integer;
begin
  clrscr;
  k:=0;
  for i:=1 to 8 do
  begin
    write('> ',i,' фамилия: ');
    readln(mas[i]);
    if pos('ова',mas[i])=Length(mas[i])-2  then
      inc(k);
  end;
  writeln('Таких фамилий: ',k)
end.
тут правда не учитывается регистр букв. Если нужно прикрутите самостоятельно
1
 Аватар для Dnnn
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
23.12.2009, 13:37
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses crt;
var 
 mas:array[1..8] of string;
 i,k:integer;
begin
clrscr;
for i:=1 to 8 do
begin  - вот к этому БЕГИНу где ЕНД ? 
k:=0; - это что, счетчик слов с "ова" - тогда обнулять его надо ДО цикла
 writeln('slova:',i);
  readln(mas[i]);
if pos('ова',k)<>0 then k:=k+1; - вот это и компилироваться не должно! pos('ова', mas[i]) наверное 
 вот тут видимо конец цикла должен быть 
 write('ова встречается ',k,' раз(а)');
end.
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
23.12.2009, 13:41
Цитата Сообщение от Inadequate Посмотреть сообщение
if pos('ова',mas[i])=Length(mas[i])-2 then inc(k);
ну ваш код я бы сказал тоже не решает проблемы например для слов где два вхождения, так что можно поступить проще для данной задачи
Pascal
1
if (mas[i][length(mas[i])]='a')and(mas[i][length(mas[i])-1]='в')and(mas[i][length(mas[i])-2]='о') then inc(k);
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
23.12.2009, 13:41
to котик
Ваша программа неверна. Во-первых,надо разобраться, как заданы фамилии: как у вас, по одной или строка с фамилиями. Далее, ваша программа найдёт 'ова' и в фамилии ковалёв, а это неверно. Когда уточните ввод, я напишу верный код
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
23.12.2009, 13:46
Цитата Сообщение от alexevt Посмотреть сообщение
я напишу верный код
а в моем коде что будет не правильно искать
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
23.12.2009, 13:47
mamedovvms, я поправил его(её) вариант а не писал свой. Согласен, что так будет более верно. А еще более верно сделать это через copy. Но опять же я поправлял его(её) решение.
А вот и с copy
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses
  crt;
var
  mas:array[1..8] of string;
  i,k:integer;
begin
  clrscr;
  k:=0;
  for i:=1 to 8 do
  begin
    write('> ',i,' ôàìèëèÿ: ');
    readln(mas[i]);
    if copy(mas[i],Length(mas[i])-2,3)='îâà'  then
      inc(k);
  end;
  writeln('Òàêèõ ôàìèëèé: ',k)
end.
Тут опять же не учитывается регистр
Цитата Сообщение от mamedovvms Посмотреть сообщение
а в моем коде что будет не правильно искать
Это слишком громоздко как-то...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2009, 13:47
Помогаю со студенческими работами здесь

Определить номер последнего положительного числа в списке. Списки имеют многоуровневую структуру
Определить номер в списке последнего положительного числа. Списки имеют многоуровневую структуру. Помогите, пожалуйста, сегодня на зачёт...

Определить, сколько слов текста имеют длину 1, 2, 3, ..., 10
Я ввожу слова без знаков препинания (все подряд через пробел) и нужно: Определить, сколько слов текста имеют длину 1, 2, 3, ..., 10 и...

Определить, сколько учеников имеют по информатике оценку «5»
Помогите сделать блок схемы: 1. Известны оценки по информатике каждого из 20 учеников класса. Сколько учеников имеют по информатике...

Вывести слова текста, которые имеют окончание -а
Вывести слова текста, которые имеют окончание -а

В простую переменную последовательно вводятся числа. Окончание ввода – 0. Определить сколько чисел больше своих соседей слева и справа.
В простую переменную последовательно вводятся числа. Окончание ввода – 0. Определить сколько чисел больше своих соседей слева и справа. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru