Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для MotoSheriff
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 8

Подсветка слов в многоуровневом массиве

11.10.2014, 18:32. Показов 1704. Ответов 8

Студворк — интернет-сервис помощи студентам
Доброй ночи, господа и дамы!
Есть трёхуровневый массив из M строк и N столбцов.
K и Д - мин и макс число букв в формируемых словах (от 2 до 7, но у меня, почему то, все ячейки по 7 букв!?..).
Необходимо в массиве обозначить другим цветом те слова в которых гласных букв в левой половине слова меньше чем в правой.
Заранее благодарю!
С уважением...

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uses crt;
 
const
  k = 2; l = 7; m = 20; n = 10;
  gl: set of char=['A','E','Y','U','I','O'];
  
var
  a: array[1..m, 1..n, 1..L + 1] of char;
  i1, i2, i3: integer;
  
begin
  Window(0, 0, 300, 300);
  TextColor(15);
  TextBackGround(09);
  clrscr;
  for i1 := 1 to M do
  begin
    for i2 := 1 to N do
    begin
      for i3 := 1 to L do    
      begin
        a[i1, i2, i3] := chr(random(26) + 65);
         write(a[i1, i2, i3]);
          end;
      write(' ');
    end;
 end;
end.
Добавлено через 20 часов 30 минут
С количеством случайных символов в ячейках разобрался, а как заполнить в ячейках пробелами до семи символов, чтобы таблица выглядела красиво и, хотя бы, посветить слова в которых есть гласные буквы.
Спасибо.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Program Massive;
uses crt;
const k=2; l=7; m=20; n=10;
var a:array[1..m,1..n,1..L+1] of char;
i1,i2,i3: integer;
begin
Window (0,0,100,100);
TextColor (white);
TextBackGround (blue);
clrscr;
for i1:=1 to M do
  begin
  for i2:=1 to N do
  
    begin
      for i3:=1 to (random(2,7)) do    
          
          begin
          a[i1,i2,i3]:=chr(random(26)+65);
          write (a[i1,i2,i3]);
          end;
 write (' ');
      end;
         writeln;      
  end;
 
end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2014, 18:32
Ответы с готовыми решениями:

Подсветка слов в строке в определенном порядке
Вопрос такой:Пользователь набрал предложение из трех слов.Нам нужно нажатием любой клавиши выделять слова в предложении в порядке...

Работа со строками. У всех ли слов в одномерном массиве слов нет буквы «о»?
У всех ли слов в одномерном массиве слов нет буквы «о»

В массиве слов найти пару слов,из которых одно является обращением другого
Напишите программу. В массиве слов найти пару слов,из которых одно является обращением другого.

8
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
11.10.2014, 20:25
Лучший ответ Сообщение было отмечено MotoSheriff как решение

Решение

Цитата Сообщение от MotoSheriff Посмотреть сообщение
как заполнить в ячейках пробелами до семи символов
(первоначальный вид программы в посте #1)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Program Massive;
uses
  crt;
const
  k=2; l=7; m=20; n=10;
var
  a:array[1..m,1..n,1..L+1] of char;
  i1,i2,i3,i4: integer;
begin
  Window (0,0,100,100);
  TextColor (white);
  TextBackGround (blue);
  clrscr;
  for i1:=1 to M do
  begin
    for i2:=1 to N do
    begin
      i4:=k+random(l-k+1);
      for i3:=1 to i4 do
          begin
          a[i1,i2,i3]:=chr(random(26)+65);
          write(a[i1,i2,i3]);
          end;
      for i3:=i4+1 to l do
          begin
          a[i1,i2,i3]:=' ';
          write(a[i1,i2,i3]);
          end;
      write (' ');
    end;
  //writeln;
  end;
end.
1
 Аватар для MotoSheriff
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 8
11.10.2014, 20:40  [ТС]
Спасибо, Антон!

Как бы ещё подсветить другим цветом слова в которых есть гласные буквы...
Pascal
1
gl: set of char=['A','E','Y','U','I','O'];
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
11.10.2014, 20:49
Цитата Сообщение от MotoSheriff Посмотреть сообщение
подсветить другим цветом слова в которых есть гласные буквы
(измененная программа в посте #2)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Program Massive;
uses
  crt;
const
  k=2; l=7; m=20; n=10;
  gb=['A','E','Y','U','I','O'];
var
  a:array[1..m,1..n,1..L+1] of char;
  i1,i2,i3,i4: integer;
  
procedure PRINT;
var
  i:integer;
begin
  for i:=1 to l do
    write(a[i1,i2,i]);
end;
 
begin
  Window (0,0,100,100);
  TextBackGround (blue);
  clrscr;
  for i1:=1 to M do
  begin
    for i2:=1 to N do
    begin
      TextColor (white);
      i4:=k+random(l-k+1);
      for i3:=1 to i4 do
          begin
          a[i1,i2,i3]:=chr(random(26)+65);
          if a[i1,i2,i3] in gb then
            TextColor(Green);
          end;
      for i3:=i4+1 to l do
          begin
          a[i1,i2,i3]:=' ';
          end;
      PRINT;
      write (' ');
    end;
  //writeln;
  end;
end.
Цитата Сообщение от MotoSheriff Посмотреть сообщение
Необходимо в массиве обозначить другим цветом те слова в которых гласных букв в левой половине слова меньше чем в правой.
А на счет первоначального задания, тут надо уточнить как быть со словами с нечетным количеством букв.

Добавлено через 2 минуты
Цитата Сообщение от MotoSheriff Посмотреть сообщение
Pascal
1
gl: set of char=['A','E','Y','U','I','O'];
По моему буква 'Y' согласная буква. Так?
1
 Аватар для MotoSheriff
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 8
11.10.2014, 20:58  [ТС]
Цитата Сообщение от Антон1985 Посмотреть сообщение
(измененная программа в посте #2)
+100500!

Цитата Сообщение от Антон1985 Посмотреть сообщение
А на счет первоначального задания, тут надо уточнить как быть со словами с нечетным количеством букв.
В задании написано:
Выделить цветом и подсчитать число слов, удовлетворяющим следующим условиям:
1. Гласных букв в левой половине слова меньше, чем в правой половине.
2. Слово принадлежит строке, в которой гласных букв не меньше, чем в следующей за ней строке.


Цитата Сообщение от Антон1985 Посмотреть сообщение
По моему буква 'Y' согласная буква. Так?
Согласен.

P.S.
5 урок по Паскалю ABC, который я никогда не знал и такие загрузы, пытаюсь вникнуть... За ранее спасибо!
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
11.10.2014, 21:05
Цитата Сообщение от MotoSheriff Посмотреть сообщение
+100500!
Что это значит?
Цитата Сообщение от MotoSheriff Посмотреть сообщение
Выделить цветом и подсчитать число слов, удовлетворяющим следующим условиям:
1. Гласных букв в левой половине слова меньше, чем в правой половине.
???
0
 Аватар для MotoSheriff
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 8
11.10.2014, 21:10  [ТС]
Цитата Сообщение от Антон1985 Посмотреть сообщение
Что это значит?
Большое спасибо!

Цитата Сообщение от Антон1985 Посмотреть сообщение
Выделить цветом и подсчитать число слов, удовлетворяющим следующим условиям:
1. Гласных букв в левой половине слова меньше, чем в правой половине.
Взять из каждой ячейки сформированное случайное слово, поделить его пополам и посчитать в каждой половине слова количество гласных букв ['A','E','U','I','O'].
Если в левой половине слова гласных букв больше, нежели в правой, то подсветить это слово другим цветом.

А предыдущее условие подсветки слов, просто содержащих гласные убрать.
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
11.10.2014, 21:19
И все таки разберем, для примера, слово 'SDFEGHJ'. Буква 'E' к какой части слова относится правой или левой?
0
 Аватар для MotoSheriff
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 8
11.10.2014, 21:53  [ТС]
Цитата Сообщение от Антон1985 Посмотреть сообщение
И все таки разберем, для примера, слово 'SDFEGHJ'. Буква 'E' к какой части слова относится правой или левой?
Может так:
Добавляем еще переменную интеджер, назовем v.
В нее заносим длину первого стринга(все слово)
Потом делим v на 2.
И если v четное, то считаем гласные буквы в половинах, если не чётное, то false.
C кодом надо по колдовать...

Pascal
1
2
3
4
5
6
7
8
var in, first, second : string;
v : integer;
...
begin
read(in);
i := length(in);
if (i/2 mod 2 = 0) then first := первые v символов от in; second := оставшиеся i символов от in; // как сделать?
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.10.2014, 21:53
Помогаю со студенческими работами здесь

В массиве слов найти пару слов, из которых одно является обращением другого
В массиве слов найти пару слов,из которых одно является обращением другого.

Подсветка слов в textarea
Здравствуйте. Объясните, пожалуйста, как работает подсветка в textarea? К примеру, мне надо, чтобы все нужные слова изменяли цвет....

"Подсветка" слов в выдаче
В общем тема такая Ограничиваю область поиска определенным сайтом - делаю запрос из двух СЧ запросов, которые только в кобинации...

подсветка найденных слов
Не помню откуда, но у меня в голове отложилась инфа, о том, что когда в яшке нажимаешь "найденные слова" и они подсвечиваются на...

Подсветка рандомных слов в тексте
Пример есть блок с разной внутренней структурой, нужно выделить в нем рандомно определенное кол-во слов например 5 <div...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru