Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > Компьютеры и Интернет > Скорая помощь

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 12.03.2008, 16:39   #1
Постоялец
 
Аватар для Warezhunter@
 
Пол:Мужской
Регистрация: 20.09.2006
Адрес: Е-бург
Сообщений: 680
Репутация: 237
По умолчанию Помогите плиз решить задачу

Помогите плиз решить задачу в Turbo Pascal 7.0, вторую неделю ковыряюсь уже, не могу решить:
Задача
Результат нужно представить в виде исходника с расширением *.pas
Заранее спасибо.
__________________
Не знаешь - не флуди!
Хороший форум - чистый форум.
Warezhunter@ вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: удаление зуб мудрости ценаПодвеска Пяточка из красного золота 585 пробыконцерт руки вверх 2026 иркутск - redkassa.ruМебельный магазин: стол обеденный раскладной - Переходи на сайт!Мебельный магазин: лавочку - Переходи на сайт!


Старый 12.03.2008, 21:42   #2
axlwor
Постоялец
 
Пол:Мужской
Регистрация: 07.10.2005
Сообщений: 760
Репутация: 166
По умолчанию Ответ: Помогите плиз решить задачу

Цитата:
При формировании массива использовать стандартные подпрограммы генерации случайных чисел. Коды ASCII символов A..Z - 65..90.

Это сделал?
axlwor вне форума
 
Ответить с цитированием Вверх
Старый 13.03.2008, 06:02   #3
Warezhunter@
Постоялец
 
Аватар для Warezhunter@
 
Пол:Мужской
Регистрация: 20.09.2006
Адрес: Е-бург
Сообщений: 680
Репутация: 237
По умолчанию Ответ: Помогите плиз решить задачу

Цитата:
Сообщение от axlwor Посмотреть сообщение
Это сделал?

Я то сделал, но там должно быть все увязано в одной программе, вот это я сделать не могу.
__________________
Не знаешь - не флуди!
Хороший форум - чистый форум.
Warezhunter@ вне форума
 
Ответить с цитированием Вверх
Старый 13.03.2008, 23:30   #4
axlwor
Постоялец
 
Пол:Мужской
Регистрация: 07.10.2005
Сообщений: 760
Репутация: 166
По умолчанию Ответ: Помогите плиз решить задачу

Ну тогда пости что сделал и показывай что не получается. Глупо каждому с начала решать одно и тоже. Проще и быстрее посмотреть где у тебя затык, чтобы решить его.

Цитата:
но там должно быть все увязано в одной программе, вот это я сделать не могу

У тебя есть отдельные процедуры, но увязать их в один модуль ты не можешь?

Последний раз редактировалось axlwor; 13.03.2008 в 23:32..
axlwor вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2008, 00:59   #5
Zhlobny Hmur
Модератор
 
Аватар для Zhlobny Hmur
 
Пол:Мужской
Регистрация: 28.06.2005
Адрес: Siberia
Сообщений: 6,062
По умолчанию Ответ: Помогите плиз решить задачу

Цитата:
Сообщение от Warezhunter@ Посмотреть сообщение
Выделить цветом

Ха, прикололо! А выводной девайс какой? Или это предлагаеться на стандортной ДОС-моде сделать? Тогда четко должны проговорены, какие библиотеки должны быть использованы!
__________________
Беда пришла откуда ее не ждали - наступило утро!
i7 4770, 24Gb, 8Gb 1070Ti, X-Fi Fatal1ty, APC SUA1000, iiYama 514, TH-50PF11, Behringer MS20
Zhlobny Hmur вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2008, 01:01   #6
DinAmiT
ViP
 
Аватар для DinAmiT
 
Пол:Мужской
Регистрация: 12.12.2005
Адрес: Ростов-на-Дону
Сообщений: 427
Репутация: 1032
По умолчанию Ответ: Помогите плиз решить задачу

Warezhunter, ниже программа которая заполняет и выводит массив на экран, если всё устраивает допишу проверку условий и выделение цветом... Кстати не понятно цветом выделять слова удовлетворяющие и 1-му и 2-му условию? Или слова удовлетворяющие условию 1 выделять одним цветом, а удовлетворяющие условию 2 другим??

Код:
Program NoWa;
Uses
   Crt;
Const
   K = 2;
   L = 7;
   M = 20;
   N = 10;
Type
   Slovo = array[1..L] of char;
   Massiv = array[1..M,1..N] of Slovo;
Var
   A: massiv;
 
Procedure VvodSlova(var z: Slovo);
Var
   i,n: byte;
Begin
   n := K + Random(6);
   for i := 1 to L do
      if i <= n
      then z[i] := Chr(65 + Random(26))
      else z[i] := Chr(32);
End;
 
 Procedure VvodMass(var z: massiv);
Var
   i,j: byte;
Begin
   Randomize;
   for i := 1 to M do
      for j:= 1 to N do
         VvodSlova(z[i,j]);
End;
 
Procedure PrintMass(z: massiv);
Var
   i,j: byte;
Begin
   for i := 1 to M do
   begin
      for j:= 1 to N - 1 do
         Write(z[i,j], ' ');
      Write(z[i,j]);
      Writeln;
   end;
End;
 
Begin
   ClrScr;
   VvodMass(A);
   PrintMass(A);
   Repeat Until KeyPressed
End.
__________________
Всё знать и уметь не возможно, но стремиться к этому надо...



Последний раз редактировалось Nozorrog; 14.03.2008 в 19:25..
DinAmiT вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2008, 01:16   #7
Zhlobny Hmur
Модератор
 
Аватар для Zhlobny Hmur
 
Пол:Мужской
Регистрация: 28.06.2005
Адрес: Siberia
Сообщений: 6,062
По умолчанию Ответ: Помогите плиз решить задачу

DinAmiT, Массив у тебя 3-мерный получился....


И не совсем понятно по задачи - действительно нужна полная диначичность? Или все решается на уровне компиляции?
__________________
Беда пришла откуда ее не ждали - наступило утро!
i7 4770, 24Gb, 8Gb 1070Ti, X-Fi Fatal1ty, APC SUA1000, iiYama 514, TH-50PF11, Behringer MS20
Zhlobny Hmur вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2008, 01:27   #8
DinAmiT
ViP
 
Аватар для DinAmiT
 
Пол:Мужской
Регистрация: 12.12.2005
Адрес: Ростов-на-Дону
Сообщений: 427
Репутация: 1032
По умолчанию Ответ: Помогите плиз решить задачу

Цитата:
Сообщение от Zhlobny Hmur Посмотреть сообщение
DinAmiT, Массив у тебя 3-мерный получился....

Двумерный массив слов... Слово - семь символов можно в принципе и двумерный массив типа string[6] описать... суть бы от этого неизменилась. String это тот же массив символов (char) от 0 до 255...

P.S.: Гы... не могу предыдущее своё сообщение отредактировать... процедура PrintSlova там лишняя...
__________________
Всё знать и уметь не возможно, но стремиться к этому надо...



Последний раз редактировалось DinAmiT; 14.03.2008 в 01:30..
DinAmiT вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2008, 01:34   #9
Zhlobny Hmur
Модератор
 
Аватар для Zhlobny Hmur
 
Пол:Мужской
Регистрация: 28.06.2005
Адрес: Siberia
Сообщений: 6,062
По умолчанию Ответ: Помогите плиз решить задачу

DinAmiT, формально по заданию - слово строиться как линейный массив из CHAR с условием максимальной генерации (забиванием пробелами).
__________________
Беда пришла откуда ее не ждали - наступило утро!
i7 4770, 24Gb, 8Gb 1070Ti, X-Fi Fatal1ty, APC SUA1000, iiYama 514, TH-50PF11, Behringer MS20
Zhlobny Hmur вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2008, 08:23   #10
DinAmiT
ViP
 
Аватар для DinAmiT
 
Пол:Мужской
Регистрация: 12.12.2005
Адрес: Ростов-на-Дону
Сообщений: 427
Репутация: 1032
По умолчанию Ответ: Помогите плиз решить задачу

Цитата:
Сообщение от Zhlobny Hmur Посмотреть сообщение
DinAmiT, формально по заданию - слово строиться как линейный массив из CHAR с условием максимальной генерации (забиванием пробелами).

Ну... а я про что...?! Это ли не оно Slovo = array[1..L] of char
Как в задании было, так и сделал..., т.е. двумерный массив слов
Massiv = array[1..M,1..N] of Slovo, "на взгляд" он конечно выглядит как трехмерный массив,
но на самом деле это двумерный массив слов описанного типа Slovo, как в задании...

Warezhunter, с условием всё понятно нужны слова удовлетворяющие и первому и второму условию, вот твоя программа:

Код:
Program NoWa;
Uses
   Crt;
Const
   K = 2;
   L = 7;
   M = 20;
   N = 10;
Type
   Slovo = array[1..L] of char;
   Massiv = array[1..M,1..N] of Slovo;
Var
   A: massiv;
   Kol_Slov: integer;
Procedure VvodSlova(var z: Slovo);
Var
   i,n: byte;
Begin
   n := K + Random(6);
   for i := 1 to L do
      if i <= n
      then z[i] := Chr(65 + Random(26))
      else z[i] := Chr(32);
End;
Function Proverka1(z: Slovo): boolean;
Const
   alf: string[5] = 'AEIOUY';
Var
   i,j, lenght, kol: byte;
Begin
   kol := 0;
   for i := 1 to L do
   begin
      if z[i] = ' ' then
      begin
         lenght := i - 1;
         Break;
      end;
      if (i = 7) then lenght := i;
      for j := 0 to 5 do
         if z[i] = alf[j] then
         begin
            Inc(kol);
            Break;
         end;
   end;
   if (lenght mod 2 <> 0) and (kol >= 2)
   then Proverka1 := true
   else Proverka1 := false;
End;
Procedure VvodMass(var z: massiv);
Var
   i,j: byte;
Begin
   Randomize;
   for i := 1 to M do
      for j:= 1 to N do
         VvodSlova(z[i,j]);
End;
Procedure PrintMass(z: massiv; var kol: integer);
Var
   i,j: byte;
Begin
   kol := 0;
   for i := 1 to M do
   begin
      for j := 1 to N do
      begin
         if Proverka1(z[i,j]) = true
         then
            if (j mod 2 <> 0) and (i mod 3 = 0)
            then
            begin
               TextColor(10);
               Inc(kol);
            end
            else TextColor(14)
         else TextColor(7);
         if j <> N then Write(z[i,j], ' ')
         else Write(z[i,j])
      end;
      Writeln;
   end;
End;
Begin
   ClrScr;
   VvodMass(A);
   PrintMass(A, Kol_Slov);
   Writeln;
   Write('Количество слов удовлетворяющих условию = ', Kol_Slov);
   Repeat Until KeyPressed
End.
P.S.: Для наглядности выкладываю исполняемый модуль
(можно запустить и посмотреть как будет выглядеть...)
А вот скрин:

[IMG]http://img181.**************/img181/1923/nowakb2.jpg[/IMG]

На скрине в массиве желтым цветом для наглядности выделены слова удовлетворяющие условию 1, а зеленым удовлетворяющие всем условиям они же и посчитаны... Вроде получилось то что нужно, если надо подкорректировать чего-то Пиши!!! Успехов!!! )
__________________
Всё знать и уметь не возможно, но стремиться к этому надо...



Последний раз редактировалось DinAmiT; 14.03.2008 в 11:10..
DinAmiT вне форума
 
Ответить с цитированием Вверх
Эти 2 пользователя(ей) сказали cпасибо за это полезное сообщение:
Старый 14.03.2008, 19:23   #11
Warezhunter@
Постоялец
 
Аватар для Warezhunter@
 
Пол:Мужской
Регистрация: 20.09.2006
Адрес: Е-бург
Сообщений: 680
Репутация: 237
По умолчанию Ответ: Помогите плиз решить задачу

Цитата:
Сообщение от axlwor Посмотреть сообщение
Ну тогда пости что сделал и показывай что не получается. Глупо каждому с начала решать одно и тоже. Проще и быстрее посмотреть где у тебя затык, чтобы решить его.


У тебя есть отдельные процедуры, но увязать их в один модуль ты не можешь?

Я только самое простое на паскале могу сделать, а это не могу.
DinAmiT, спасибо, попробую завтра отнести это преподу.
__________________
Не знаешь - не флуди!
Хороший форум - чистый форум.

Последний раз редактировалось Warezhunter@; 14.03.2008 в 19:28..
Warezhunter@ вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2008, 22:34   #12
Zhlobny Hmur
Модератор
 
Аватар для Zhlobny Hmur
 
Пол:Мужской
Регистрация: 28.06.2005
Адрес: Siberia
Сообщений: 6,062
По умолчанию Ответ: Помогите плиз решить задачу

DinAmiT, Сорь, на свежую голову (в смысле приперся с работы не в 3 часа ночи а в 11) прочитал, твоя правда.

Кстати, для нетипичности можно проверку на вхождение гласной сделать через Set. Тогда процедурка сводиться к:

Код:
Function Proverka1(z: Slovo): boolean;
Type
   Letters=Set of 'A'..'Z';
Const
   glassnaj:Letters = ['A','E','I','O','U','Y'];
Var 
   i,gl:integer;
Begin
   gl:=0;
   i:=1;
   repeat
       inc(gl,integer(a[i] in glassnaj));
       inc(i)
   until (a[i]=' ') or (i=L+1);
   Proverka1:=((i-1) mod 2 <> 0) and (gl >= 2)
End;
И для прикола выделять: Цианом - если выполняеться 1 условие, желтым - второе, а зеленым - оба одновременно!
__________________
Беда пришла откуда ее не ждали - наступило утро!
i7 4770, 24Gb, 8Gb 1070Ti, X-Fi Fatal1ty, APC SUA1000, iiYama 514, TH-50PF11, Behringer MS20

Последний раз редактировалось Zhlobny Hmur; 20.03.2008 в 11:51.. Причина: Подправил код под типы DinAmiT
Zhlobny Hmur вне форума
 
Ответить с цитированием Вверх
Эти 2 пользователя(ей) сказали cпасибо за это полезное сообщение:
Старый 02.09.2008, 10:51   #13
Warezhunter@
Постоялец
 
Аватар для Warezhunter@
 
Пол:Мужской
Регистрация: 20.09.2006
Адрес: Е-бург
Сообщений: 680
Репутация: 237
По умолчанию Re: Помогите плиз решить задачу

Опять проблема, теперь надо сделать то же самое, но только условие поменялось
Цитата:
Выделить цветом и подсчитать число слов, удовлетворяющих следующим условиям.
1.Последняя и первая буквы в слове - согласные
2.Слово принадлежит нечетному столбцу, в котором больше всего слов с двумя буквами
K = 2, L = 7, M = 20, N = 10

__________________
Не знаешь - не флуди!
Хороший форум - чистый форум.
Warezhunter@ вне форума
 
Ответить с цитированием Вверх
Старый 02.09.2008, 17:11   #14
Zhlobny Hmur
Модератор
 
Аватар для Zhlobny Hmur
 
Пол:Мужской
Регистрация: 28.06.2005
Адрес: Siberia
Сообщений: 6,062
По умолчанию Re: Помогите плиз решить задачу

Warezhunter@, Блин, делать то тут нечего.

1) Перед вызовом PrintMass опредлеляешь столбец, удовлетворяющий твоим условиям, заносим полученное значение в FindColumn, скажем.
2) Меняешь процедуру Proverka1 на определение согласных
3) чуток меняешь PrintMass
Код:
         if Proverka1(z[i,j]) and (J=FindColumn) then
            begin
               TextColor(10);
               Inc(kol)
            end
         else TextColor(7);
ВСЕ.

З.Ы. Если не секрет, где так от программирования народ отгоняют?
__________________
Беда пришла откуда ее не ждали - наступило утро!
i7 4770, 24Gb, 8Gb 1070Ti, X-Fi Fatal1ty, APC SUA1000, iiYama 514, TH-50PF11, Behringer MS20
Zhlobny Hmur вне форума
 
Ответить с цитированием Вверх
Старый 02.09.2008, 18:58   #15
Warezhunter@
Постоялец
 
Аватар для Warezhunter@
 
Пол:Мужской
Регистрация: 20.09.2006
Адрес: Е-бург
Сообщений: 680
Репутация: 237
По умолчанию Re: Помогите плиз решить задачу

Zhlobny Hmur,
Мне надо конкретно знать, где и чего менять.
Если результат заносить в FindColumn, то эту переменную надо сначало объявить в разделе var.
Может я не прав, за количество столбцов и строк отвечают вроде переменные kol и lenght соответственно?
И что надо поменять на определение согласных:
Цитата:
Const
alf: string[5] = 'AEIOUY';

на
Цитата:
Const
alf: string[18] = 'BCDFGHKLMNPQRSTVWXZ;

?

Такую хрень мне уже второй раз дают в политехе.
__________________
Не знаешь - не флуди!
Хороший форум - чистый форум.
Warezhunter@ вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помгоите решить такую вот интересную задачу!!! vov4ka ASP.NET 3 07.06.2011 11:07
Помгоите решить такую вот интересную задачу!!! vov4ka Java Script 2 06.03.2010 18:17
Помогите плиз решить задачу в пакете Mathematica,За вознаграждение) Евгенияяяя Программирование 0 16.12.2009 12:42
Помогите решить проблему Jep Компьютерные проблемы 2 29.03.2009 00:48
Помогите решить проблему с USB anradR Компьютерные проблемы 6 02.03.2009 01:48

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:58. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.07749 секунды с 11 запросами