|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.01.2009, 16:29 | #1 |
Регистрация: 17.01.2009
Сообщений: 7
|
Срочно нужна помощь: три относительно простые программки
Приветствую!
Товарищи, помогите, кто располагает временем и добрым сердцем ))) нужно срочно, в понедельник-вторник, сдать три программы, но сейчас плотно завяз в других предметах и совершенно нет времени, разбираться и экспериментировать-разве что в ночь на воскресенье получится засесть, а принести их надо-просто край =\ Буду благодарен за любую помощь! 1. Дана матрица размерностью N*M. Запомнить координаты элементов матрицы, которые являются минимальными в своей строке и максимальными в своем столбце. В решение задачи должны(это текст в задаче такой, то что мсне никто ничего тут не должен ясно как белый день ) входить следующие пункты: 1. Характеристика основных особенностей языка, позволяющих эффективно решать данный тип задач, с разбором операторов языка. 2. Запись алгоритма в виде блок-схемы, структурной диаграммы или псевдокода. 3. Запись алгоритма на языке Паскаль. --------------------------------------------------------------- 2. Составить главную программу и процедуру. В процедуре составить вектор номеров элементов исходного вектора А(М), которые являются совершенными числами. Совершенное число - это число, равное сумме своих делителей, отличных от него самого. В задаче требуется составить главную программу и процедуру или функцию с параметрами. В главной программе должен быть реализован ввод исходных данных, необходимых для выполнения процедуры (функции), обращение к процедуре (функции) и вывод результатов решения задачи. В процедуру (функцию) все входные и выходные данные передаются через параметры (т.е. размерность массивов, элементы массивов, а также полученные результаты). --------------------------------------------------------------- 3. Вводится строка. Найти слово - палиндром, имеющее самую большую длину. Палиндром - текст, читающийся одинаково слева направо и наоборот. В задаче вводится строка текста. Требуется выполнить некоторую обработку строки. Группу символов, расположенную между двумя разделителями, назовем словом. Разделители для всех вариантов одинаковые: запятая, точка, пробел, восклицательный знак, двоеточие, вопросительный знак, апостроф, кавычка, точка с запятой, звездочка. Для проверки символов на разделители желательно использовать операции над множествами. Заранее огромное спасибо откликнувшимся! =) Последний раз редактировалось Tevet; 17.01.2009 в 18:24. |
17.01.2009, 21:35 | #2 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
ТРЕТЬЯ ЗАДАЧА. возможно не точно но суть в этом. (писал с мобильного телефона так что если че не так то уж извините)
Код:
Писано по д'Эльфийски
Последний раз редактировалось Лубышев; 18.01.2009 в 10:02. |
18.01.2009, 11:14 | #3 | |
Регистрация: 17.01.2009
Сообщений: 7
|
Цитата:
|
|
18.01.2009, 17:31 | #4 |
Форумчанин
Регистрация: 22.12.2008
Сообщений: 104
|
2) Вероятно так
uses crt;
type ar=array[1..100] of integer; var mas,p:ar; n,w,q:integer; procedure read_array(var a:ar; k:integer); var i:integer; begin for i:=1 to n do readln(a[i]); end; procedure pro(var a:ar; k:integer; var out:ar; var len:integer); var i,j:integer; function prost(x:integer):boolean; var f:boolean; m:integer; begin f:=true; for m:=2 to (x div 2)+1 do begin if x mod m=0 then f:=false; end; prost:=f; end; begin j:=0; for i:=1 to k do begin if prost(a[i]) then begin j:=j+1; out[j]:=i; end; end; len:=j; end; begin clrscr; write(' Kolichestvo elementov -> '); readln(n); writeln('vvodite massiv '); writeln; read_array(mas,n); pro(mas,n,p,w); writeln; writeln; for q:=1 to w do write(p[q],' '); readln; end.
@(o_0)@
|
18.01.2009, 18:19 | #5 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Первая:
1. Характеристику и прочее, думаю, сами напишете )
2. Блок-схему построит fceditor (был где-то здесь, на форуме) 3. Код. Заполняю случайными числами. Если нужен ручной ввод, нужно удалить то, что помечено "generator" и раскомментить код с пометкой "ruchnoj vvod". Код:
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
18.01.2009, 23:16 | #6 |
Регистрация: 17.01.2009
Сообщений: 7
|
я на вас молиться буду! вы спасли мою задницу, огромное спасибо!!
|
19.01.2009, 15:18 | #7 |
Форумчанин
Регистрация: 22.12.2008
Сообщений: 104
|
Сори, я ошибся в задаче ((( Не внимательно прочитал, ета программа вместо совершенных чисел заносит простые.
@(o_0)@
|
19.01.2009, 19:15 | #8 | |
Регистрация: 17.01.2009
Сообщений: 7
|
Цитата:
program Sov_cis; const N=8; var i, sum: integer; matrix: array [1..N] of Integer; m_res: array [1..N] of Integer; m_res_cnt: Integer; m,j,a: Integer; procedure opr_sov_cislo; begin m_res_cnt:=0; for i:=1 to N do begin a:=Abs(matrix[i]); m:=a div 2; sum:=1; for j:=2 to m do; begin if(a div j)*j= a then sum:=sum+j; end; if sum=a then begin Inc(m_res_cnt); m_res[m_res_cnt]:=i; end; end; begin for i:=1 to N do begin Write('Vvedite ',i,'-iy element massiva'); Read(matrix[i]); end; opr_sov_cislo; WriteLn('Ishodniy massiv'); for i:=1 to N do Write (matrix[i]:6); WriteLn(''); if m_res_cnt=0 then WriteLn('Sovershennih chisel net.') else begin for i:=1 to m_res_cnt do WriteLn(m_res[i],'iy element massiva:', matrix[m_res[i]],' sovershennoe chislo'); WriteLn('Press Any Key'); repeat until KeyPressed; end. |
|
19.01.2009, 19:37 | #9 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
В процедуре нашел пару ошибок (недосчитался одного end'а и нашел лишнюю точку с запятой)..
В общем, исправлено: Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
19.01.2009, 20:27 | #10 | |
Регистрация: 17.01.2009
Сообщений: 7
|
Цитата:
вопрос на засыпку, делаю блок-схему через fceditor импортируя в него программу, всю блок-схему выдает с перечеркнутыми блоками, причем блок "начало" зачеркунт аж крест на крест; в чем загвоздка?... Последний раз редактировалось Tevet; 19.01.2009 в 21:01. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Срочно нужна помощь | Cheshire-Cat | Помощь студентам | 1 | 10.06.2008 17:26 |
Срочно нужна помощь!!! | KAMENYKA | Помощь студентам | 5 | 11.12.2007 13:56 |
СРОЧНО! Нужна помощь | RUsoft | Общие вопросы Delphi | 2 | 26.03.2007 16:54 |