IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Матрица
ghost
сообщение 4.12.2004 19:50
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


:help: Помогите пожалуйста сделать задачу :help:
Дана матрица А(6,6). Создать новую матрицу В(6,6), где
а) В(I,J)=A(I,J), если A(I,J)>0
б) B(I,J) не равно 0, если A(I,J)<=0
Вывести исходную матрицу А, а под ней полученную матрицу В.
В программе должна быть "защита от дурака"

Сообщение отредактировано: ghost - 4.12.2004 20:23
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
ghost
сообщение 15.12.2004 21:33
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Как будет выглядет б/с к этой немного переделанной проге
Код

uses crt;
const
  max_n = 9;
var
a,b:array[1..max_n,1..max_n] of integer;
i,j,n1,n2,error:integer;
s: string; x: longint; er: integer;
bn: boolean;
label e1;
begin
clrscr;
gotoxy  (3,10);
  writeln ('Данная программа задаёт матрицу А. После чего создаёт');
   gotoxy  (57,10);
  writeln ('новую матрицу B, где ');
   gotoxy  (12,11);
  writeln ('а) B(i,j) = A(i,j), если A(i,j) > 0');
   gotoxy  (12,12);
  writeln ('б) B(i,j) не равно 0, если A(i,j) <= 0');
   gotoxy  (7,14);
  writeln ('Элементами матрицы могут быть только целые числа от -32768 до 32767,');
   gotoxy  (18,15);
  writeln ('максимальный размер матрицы 9х9!');
   gotoxy  (12,17);
  writeln ('текст');
   gotoxy  (27,18);
  writeln ('текст');
   gotoxy  (18,20);
  writeln ('Нажмите любую клавишу для продолжения');
   readkey;
e1:
clrscr;
  repeat
    write('Введите кол-во строк = ');
{$I-} readln(n1);
error:=ioresult;{$I+}
IF (n1<2) or (n1>max_n) or (error<>0)
then  writeln ('Кол-во строк от 2 до 9!');
  until (n1 >= 2) and (n1<=max_n) and (error=0);

  repeat
    write('Введите кол-во столбцов = ');
    {$I-} readln(n2);
    error:=ioresult;{$I+}
    IF (n2<2) or (n2>max_n) or (error<>0)
    then writeln ('Кол-во столбцов от 2 до 9!');
  until (n2 >= 2) and (n2<=max_n) and (error=0);


  for i := 1 to n1 do
  for j := 1 to n2 do
    begin
      repeat
        write('a[', i, ',', j, '] = '); Readln(s);
        val(s, x, er);
        bn := (er<>0) or (x < -Pred(maxint)) or (x > maxint);
        if bn then writeln('Введённый вами символ вне диапозона от -32768 до 32767');
      until not bn;
      a[i,j] := x;
    end;

  for i := 1 to n1 do
  for j := 1 to n2 do
  begin
       if a[i,j] > 0 then b[i,j] := a[i,j]
       else
       b[i,j] := 0;
  end;
  clrscr;
  write('matrix A');
  for i := 1 to n1 do
  begin
       writeln;
       for j := 1 to n2 do
       Write(a[i,j]:7);
  end;

  writeln;
  write('matrix B');
  for i := 1 to n1 do
  begin
       writeln;
       for j := 1 to n2 do
       Write(b[i,j]:7);
       end;
       writeln ('');
       write('Вы хотите сделать ещё одну матрицу? y/n');
       case readkey of
   #89: goto  e1;
   #121: goto e1;
   #78: exit;
   #110: exit;
  end;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
ghost   Матрица   4.12.2004 19:50
volvo   ghost А чему равно B(I, J) при A(I,J)<=0 ? Лю...   4.12.2004 20:14
ghost   Как я понял в б) в итоге должно быть так Отрица...   4.12.2004 20:30
АнтонП   Простите, что вмешался... возможно в натуре услов...   4.12.2004 20:42
volvo   АнтонП Автор вопроса уже уточнил -   4.12.2004 20:45
mithquessir   const     n = 6; var   a,b:a...   4.12.2004 21:56
volvo   mithquessir Что это? for i := 1 to n do ...   4.12.2004 22:20
Jahnerus   volvo Кажется это исскуственное засовывание отриц...   4.12.2004 22:54
volvo   Это ясно, но ЗАЧЕМ? mithquessir Все, что требов...   4.12.2004 23:03
АнтонП   Я сруктуру рандома не изучал, но инстнктивно кажет...   4.12.2004 23:07
mithquessir   volvo Извиняюсь, не дочитал условия а просто как...   4.12.2004 23:16
volvo   Это, конечно, очень интересный способ, но вот при...   4.12.2004 23:16
Jahnerus   volvo Наверно человек писавший это переживал что ...   4.12.2004 23:22
volvo   Jahnerus Я бы добавил еще кое-что: var  x...   4.12.2004 23:29
Jahnerus   mithquessir Да просто случайность прям на каждом ...   4.12.2004 23:31
Jahnerus   volvo Полностью с тобой согласен ... забыл ... он...   4.12.2004 23:37
volvo   Jahnerus Вот с дробными как раз проблемы нет... Т...   4.12.2004 23:43
mithquessir   А почему нельзя так?     for i := ...   4.12.2004 23:52
volvo   mithquessir А попробуй ввести 60000 - узнаешь...   4.12.2004 23:58
Jahnerus   mithquessir Тогда хотябы так var a:longint; -...   5.12.2004 0:03
Jahnerus   volvo Хе ! только щас увидел один нюанс ...   5.12.2004 1:04
volvo   Jahnerus Ошибка, конечно... Зачем er сравнивать с...   5.12.2004 1:07
Jahnerus   Теперь всё встало на свои места ;) Да и простите...   5.12.2004 1:16
ghost   Что-то не могу понять что за "er" такое,...   14.12.2004 14:43
volvo   ghost По-моему, так... const    max_n...   14.12.2004 15:09
ghost   А можно сделать так чтобы число строк не обязатель...   14.12.2004 16:56
volvo   ghost Исправлено...   14.12.2004 17:06
ghost   Как будет выглядет б/с к этой немного переделанной...   15.12.2004 21:33


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.07.2025 22:42
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"