Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: [Pascal] Помогите исправить алгоритм  (Прочитано 7347 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
LenkaХ)
Гость
« : 06-12-2008 19:40 » 

Помлгите плз!
Даны условия:
Вводится матрица MR(n,m) c двузначными числами. Сформировать новую матрицу RM( m,n), в которой :
a) в элементах где первая цифра больше второй выполнить перестоновку цифр
б) элем-ты, где цифры равны , "забить" пробелами
в) остальные чилса представить сочетанием двух букв, номер которых в алфавите соответствует значению цифры числа
Обе матрицы вынести на экран дисплея.
 то что я сделала я вложила сюда, Не могу понять какая ошибка! Помогите плз!
« Последнее редактирование: 06-12-2008 19:44 от Алексей1153++ » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 06-12-2008 19:44 » 

LenkaХ), я вложение убрал, код тут один к одному
Код:
for i:=1 to n do
begin
    for j:=1 to n do
        write(A[i,j]:5);
    writeln;
end;

for i:=1 to n do
begin
    for j:=1 to n do
    begin
        A[i,j]:=B[j,i];
    end;
end;

For j:=1 to n do
begin
    for i:=1 to n do
    begin
        s:=b[j,i] div 10;
        m:=b[j,i] mod 10;
    end;

    for j:=1 to n do
    begin
        for i:=1 to n do
        begin
            If s>m then begin
                f:=s;
                s:=m;
                m:=s;
            end;
        end;
    end;

    for j:=1 to n do
    begin
        for i:=1 to n do
        begin
            if s=m then begin
                s:=1;
                m:=2;
            end;
        end;
    end;

    for j:=1 to n do begin
        for i:=1 to n do begin
            if s<m then begin
                st:='АБВГДЕЖЗИК’;
                s:=st[s] ;
                m:=st[m];
            end;
            b[j,i]:=st[s]+st[m];
        end;
    end;
end;
« Последнее редактирование: 06-12-2008 20:18 от Вад » Записан

Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 06-12-2008 20:19 » 

Отформатировал, а то вообще дичь была. Возник 1й вопрос: что со вложенностью циклов? Жуть ведь какая-то, внутри цикла по j ещё один цикл по j
Записан
LenkaХ)
Гость
« Ответ #3 : 07-12-2008 12:47 » 

Ну... я в общем не особо разбираюсь со всем этим, препод просто лабу дал,сказал ко вторнику сделать,если автомат хочу... Скромно так...   объяснять он ниче не объяснял,мы сейчас вообще другую тему изучаем,а насчет этого сказал,что просто все, сама должна разобраться... Ну я тупо и начала делать,как сама это понимаю..
 Если не трудно,прошу помочь.. Т.к. разобраться хочу со всем этим,а попросить некого Скромно так...
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 07-12-2008 13:05 » 

Ну хорошо. Начнём вот с чего: у тебя по условию совершаются три действия над числами, в зависимости от значений цифр в них.
Тогда 2 вопроса:
1. Как объявлены матрицы MR и RM? Т.е., какими типами являются их элементы?
2. Наводящий вопрос: почему пункты а, б, в пытаешься делать в разных циклах? То есть, чем руководствуешься?

Помочь разобраться тебе могут, но если будет видна и твоя работа мысли Улыбаюсь
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 07-12-2008 14:26 » 

Тем более за автомат. Улыбаюсь
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines