Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Тимошенко Дмитрий
Статус: Студент
Рейтинг: 133
∙ повысить рейтинг >>
Botsman
Статус: Практикант
Рейтинг: 124
∙ повысить рейтинг >>
Micren
Статус: Практикант
Рейтинг: 39
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 881
от 15.05.2009, 05:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 260, Экспертов: 49
В номере:Вопросов: 3, Ответов: 3

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 166816: Приветствую! В институте задали курсовую, никак не могу разобраться с одним моментом! Дан массив размером N/ Продублировать в нём элементы с чётными номерами (2, 4, ...). Условный оператор не использовать. Написал код, но он именно вытаскивает чётные...


Вопрос № 166832: Уважаемые эксперты, помогите, пожалуйста, с задачей: Описать рекурсивную процедуру, которая: а) определяет, сколько раз входит элемент Е в список L; б) находит максимальный элемент непустого списка L; ...
Вопрос № 166849: Добрый вечер уважаемые эксперты <img src="http://rusfaq.ru/images/Forum/5.gif" border="0"> Помогите решить проблему с динамической памятью, а точнее с выделением её под матрицу и освобождением памяти. <div style="margin:15px; margin-top:10px"><...

Вопрос № 166.816
Приветствую! В институте задали курсовую, никак не могу разобраться с одним моментом! Дан массив размером N/ Продублировать в нём элементы с чётными номерами (2, 4, ...). Условный оператор не использовать. Написал код, но он именно вытаскивает чётные номера, т.е. совсем не то) прошу помочь разобраться! заранее благодарен!

Приложение:

Отправлен: 09.05.2009, 11:23
Вопрос задал: Derri (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Тимошенко Дмитрий
Здравствуйте, Derri!

Модифицировал код предложенный Юрием Борисовичем. В таком виде он работает при любом N, как четном так и нечетном.

Приложение:

Ответ отправил: Тимошенко Дмитрий (статус: Студент)
Ответ отправлен: 10.05.2009, 12:31

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 248898 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 166.832
    Уважаемые эксперты, помогите, пожалуйста, с задачей:

    Описать рекурсивную процедуру, которая:
    а) определяет, сколько раз входит элемент Е в список L;
    б) находит максимальный элемент непустого списка L;
    Отправлен: 09.05.2009, 16:02
    Вопрос задал: Maybeme (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Зенченко Константин Николаевич
    Здравствуйте, Maybeme!

    Смотрите приложение.
    Все процедуры рекурсивны. По программе:
    создается список из n элементов;
    созданный список выводится на экран;
    случайным образом выбирается один из элементов списка для поиска;
    процедура countList выполняет оба условия задачи;
    освобождается занимаемая память.
    Вопросы по программе задавайте в мини-форум.
    Удачи!

    Приложение:

    Ответ отправил: Зенченко Константин Николаевич (статус: Профессор)
    Украина, Киев
    ----
    Ответ отправлен: 13.05.2009, 18:45

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 249121 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 166.849
    Добрый вечер уважаемые эксперты Помогите решить проблему с динамической памятью, а точнее с выделением её под матрицу и освобождением памяти.
    Код:
    uses CRT;
    type Row=array[1..1] of integer;
    DynamicRow=^Row;
    DynamicCol=array[1..1] of DynamicRow;
    Matrica=^DynamicCol;

    Procedure PathOfFileIn(var Path:string);
    begin
    write('Введите путь входного файла ');
    readln(Path);
    end;

    Procedure PathOfFileOut(var Path:string);
    begin
    write('Введите путь выходного файла ');
    readln(Path);
    end;

    Procedure InputMatrixFromTxtFile(var X:Matrica; var K,L:integer; PathOfFile:string);
    var InputFile:text;
    i,j:integer;
    begin
    PathOfFileIn(PathOfFile);
    assign(InputFile,PathOfFile);
    reset(InputFile);
    if IOResult<>0 then
    begin
    writeln('Файл не найден или не читается!');
    readln;
    halt;
    end
    else
    begin
    read(InputFile,K,L);
    for i:=1 to K do
    getmem(X^[i],L*SizeOf(integer));
    for i:=1 to K do
    begin
    for j:=1 to L do
    read(InputFile,X^[i]^[j]);
    end;
    close(InputFile);
    end;
    end;

    Procedure PrintMatrix(X:Matrica; K,L:integer);
    var i,j:integer;
    begin
    for i:=1 to K do
    begin
    for j:=1 to L do
    write(X^[i]^[j]:4,' ');
    writeln;
    end;
    end;

    Procedure TranspositingMaxMinElementInEveryRow(var X:Matrica; K,L:integer);
    var i,j,buf,A,B,min_j,max_j:integer;
    begin
    for j:=1 to L do
    begin
    max_j:=abs(X^[1]^[j]);
    min_j:=abs(X^ [1]^[j]);
    for i:=1 to K do
    begin
    if abs(X^[i]^[j])>=max_j then
    begin
    max_j:=abs(X^[i]^[j]);
    A:=i;
    end;
    if abs(X^[i]^[j])<=min_j then
    begin
    min_j:=abs(X^[i]^[j]);
    B:=i;
    end;
    end;
    buf:=X^[A]^[j];
    X^[A]^[j]:=X^[B]^[j];
    X^[B]^[j]:=buf;
    end;
    end;

    Procedure OutputMatrixToTxtFile(X:Matrica; K,L:integer; PathOfFile:string);
    var i,j:integer;
    OutputFile:text;
    begin
    PathOfFileOut(PathOfFile);
    assign(OutputFile,PathOfFile);
    rewrite(OutputFile);
    for i:=1 to K do
    begin
    for j:=1 to L do
    begin
    write(OutputFile,X^[i]^[j]:4,' ');
    end;
    writeln;
    writeln(OutputFile,'');
    end;
    close(OutputFile);
    end;

    var K,L:integer;
    X:Matrica;
    i:integer;
    Path_In,Path_Out:string;
    begin
    clrscr;
    writeln('Здравствуйте, уважаемый пользователь!');
    writeln('Эта программа в каждом столбце меняет местами наибольший и наименьший по модулю элементы.');
    InputMatrixFromTxtFile(X,K,L,Path_In);
    writeln('Вы ввели такую исходную матрицу:');
    PrintMatrix(X,K,L);
    TranspositingMaxMinElementInEveryRow(X,K,L);
    writeln('В итоге, получили матрицу:');
    PrintMatrix(X,K,L);
    OutputMatrixToTxtFile(X,K,L,Path_Out);
    for i:=1 to K do
    freemem(X^[i],L*sizeof(integer));
    readln;
    end.
    Отправлен: 09.05.2009, 22:07
    Вопрос задал: Bel9illi (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 1)

    Отвечает: Бизин Михаил Анатольевич
    Здравствуйте, Bel9illi!
    Вы забыли выделить память под массив указателей для строк.
    В функции InputMatrixFromTxtFile перед циклом выделения памяти строкам вставьте:
    getmem(X,K*SizeOf(DynamicRow));
    А в основной программе после освобождения памяти из под строк вставьте:
    freemem(X,K*SizeOf(DynamicRow));
    Других ошибок не вижу.
    У меня откомпилировалось и прекрасно работает на Turbo Pascal 7.1.
    Ответ отправил: Бизин Михаил Анатольевич (статус: 7-й класс)
    Ответ отправлен: 11.05.2009, 22:20

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 248970 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное