![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 22
|
![]()
Организовать ввод данных матриц двумя способами: автоматический с помощью генератора случайных чисел и ручной с помощью клавиатуры. Тип ввода данных организовать с помощью меню.
Определить номера тех строк целочисленной матрицы A[N,K],которые совпадают с массивом D[K] .Если таких строк нет, выдать соответствующее сообщение. uses crt; const nmax=20; var a:array[1..nmax,1..nmax] of integer; d:array[1..nmax] of integer; n,k,i,j,f,p:byte; begin clrscr; repeat write('Количество строк до ',nmax,' n='); readln(n); until n in [1..nmax]; repeat write('Количество столбцов до ',nmax,' k='); readln(k); until k in [1..nmax]; writeln('Введите построчно элементы матрицы:'); for i:=1 to n do for j:=1 to k do begin write('a[',i,',',j,']='); readln(a[i,j]); end; writeln('Введите элементы массива D:'); for i:=1 to k do begin write('d[',i,']='); readln(d[i]); end; clrscr; writeln('Исходная матрица A:'); for i:=1 to n do begin for j:=1 to k do write(a[i,j]:4); writeln; end; writeln; writeln('Массив D:'); for i:=1 to k do write(d[i]:4); writeln; writeln('Номера строк, совпадающих с массивом D:'); f:=0; for i:=1 to n do begin p:=0; for j:=1 to k do if a[i,j]<>d[j] then begin p:=1; break; end; if p=0 then begin f:=1; write(i,' '); end; end; if f=0 then write('Таких строк нет!'); readln end. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 11
|
![]()
А в чём проблема?В том чтобы два ввода сделать?
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 22
|
![]()
uses crt;
var a:array[1..5,1..5] of integer; d:array[1..5] of integer; n,k,i,j,f,p,m:integer; begin randomize; clrscr; write('размерность матрицы n='); readln(n); repeat writeln('1:автоматический, 2:ручной'); readln(m); until m<=2; case m of 1:for i:=1 to N do begin writeln; for j:=1 to N do begin a[i,j]:=random(10)-5; write(a[i,j]:4); end;end; 2:for i:=1 to n do begin for j:=1 to n do begin write('a[',i,',',j,']='); readln(a[i,j]); end;end;end; writeln; writeln('введите элементы массива D:'); for i:=1 to N do begin write('d[',i,']='); readln(d[i]); end; clrscr; writeln('исходная матрица A:'); for j:=1 to n do write(a[i,j]:4); writeln; writeln('массив D:'); for i:=1 to N do write(d[i]:4); writeln; writeln('номера строк,совпадающих с массивом D:'); f:=0; for i:=1 to n do if a[i,j]<>d[j] then begin p:=1; break; end; if p=0 then begin f:=1; write(i,''); end; if f=0 then write('таких строк нет'); readln end. неверно определяет строку (т.е. всегда пишет "нет таких строк"), исходную матрицу не выводит на экран и в рандоме не выводит отрицательные числа (не получается их формировать так как пишет переполнение арифметического выражения) |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 388
|
![]()
при выводе матрицы двумерной!!!
Код:
Код:
на неконкретные вопросы даю неконкретные ответы ...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
двумерный массив(Pascal) | Shegi | Помощь студентам | 1 | 18.01.2012 06:23 |
Двумерный массив на Pascal | Daniboy | Помощь студентам | 5 | 16.02.2011 21:07 |
двумерный массив Pascal | Cam_Wexler | Помощь студентам | 9 | 14.05.2010 22:12 |
Pascal. Двумерный массив. | Fonthreat | Помощь студентам | 1 | 29.03.2010 17:57 |
Pascal Двумерный массив | vovalski | Помощь студентам | 1 | 16.11.2009 20:42 |