Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

двумерные массивы. паскаль

42K
26 января 2011 года
nastyanan
42 / / 20.10.2010
1) напишите программу формирования массива размером 5*5 с помощью датчика случайных чисел. замените в нём нечётные значения элементов максимальным числом. выведите на экран исходный и изменённый массивы.
2) найти максимальный элемент каждой строки массива и его индекс.
3) в произвольном массиве n*m удалите строку с номером k.
64K
26 января 2011 года
сван
8 / / 08.01.2011
Бросайте свои наброски, помогим...
29K
27 января 2011 года
Енот_в_Засаде
224 / / 09.11.2010
1)
Код:
uses crt;
var matr: array [1..5,1..5] of integer;
var i,j: integer;
var max: integer;

begin
clrscr;

Randomize;

for i:=1 to 5 do begin
  for j:=1 to 5 do begin
    matr[i,j]:=Random(101)-50;
  end;
end;

Writeln('Ishodnaya matritca:');
for i:=1 to 5 do begin
  writeln('');
     for j:=1 to 5 do
       Write(matr[i,j]:5,' ');
end;
max:=matr[1,1];
for i:=1 to 5 do begin
  for j:=1 to 5 do begin
    if  matr[i,j]>max then begin
     max:=matr[i,j];
    end;
  end;
end;
writeln('');
Writeln('Max element matrici ', max);

for i:=1 to 5 do begin
  for j:=1 to 5 do
     if matr[i,j] mod 2<>0 then
       matr[i,j]:=max;
end;

Writeln('Preobrazovannaya matritca:');
for i:=1 to 5 do begin
  writeln('');
     for j:=1 to 5 do
       Write(matr[i,j]:5,' ');
end;
readln;
end.
29K
27 января 2011 года
Енот_в_Засаде
224 / / 09.11.2010
2)
Код:
uses crt;
var matr: array [1..5,1..5] of integer;
var i,j,index: integer;
var max: integer;

begin
clrscr;

Randomize;

for i:=1 to 5 do begin
  for j:=1 to 5 do begin
    matr[i,j]:=Random(101)-50;
  end;
end;

Writeln('Ishodnaya matritca:');
for i:=1 to 5 do begin
  writeln('');
     for j:=1 to 5 do
       Write(matr[i,j]:5,' ');
end;

for i:=1 to 5 do begin
  max:=matr[i,1];
  index:=1;
   for j:=1 to 5 do begin
      if  matr[i,j]>max then begin
        max:=matr[i,j];
        index:=j;
      end;
   end;
   writeln('');
   Writeln('Max element stroki ',i,' raven ',max, ' ego index v stroke ',index);
end;
readln;
end.
29K
27 января 2011 года
Енот_в_Засаде
224 / / 09.11.2010
ну и до полного комплекта - 3:
Код:
uses crt;

var i,j,k,n,m: integer;
var matr: array [1..20] of array [1..20] of integer;
begin
clrscr;
Randomize;
writeln('Vvedite kol-vo strok:');
readln(n);
writeln('Vvedite kol-vo stolbtcov:');
readln(m);
for i:=1 to n do begin
  for j:=1 to m do begin
    matr[i,j]:=Random(101)-50;
  end;
end;

Writeln('Ishodnaya matritca:');
for i:=1 to n do begin
  writeln('');
     for j:=1 to m do
       Write(matr[i,j]:5,' ');
end;
writeln('');
writeln('Vvedite nomer stroki:');
readln(k);

writeln('Preobrazovannaya matritca:');
for i:=1 to n do begin
if i<>k then
 begin
   writeln('');
    for j:=1 to m do
       Write(matr[i,j]:5,' ');
 end;
end;
readln;
end.

P.S. В паскале, насколько я знаю, удалить из массива строку нельзя, поэтому её просто не выводим на экран
42K
27 января 2011 года
nastyanan
42 / / 20.10.2010
спасибо большое
очень выручили.. но я почемуто не могу добавить вам отзыв(
42K
28 января 2011 года
nastyanan
42 / / 20.10.2010
ни одна задача не работает((((
42K
28 января 2011 года
nastyanan
42 / / 20.10.2010
понять не могу в чем дело(программа загружается но работает абсолютно не правильно(
29K
28 января 2011 года
Енот_в_Засаде
224 / / 09.11.2010
Цитата: nastyanan
ни одна задача не работает((((


ну разве стал бы я выкладывать код, не проверив:) Писал в turbo pascal 7

42K
28 января 2011 года
nastyanan
42 / / 20.10.2010
блин(щас попробую всё еще раз
29K
28 января 2011 года
Енот_в_Засаде
224 / / 09.11.2010
вот вам ссылка, оттуда я скачивал TP7: http://www.softportal.com/get-2409-borland-turbo-pascal.html только выбирайте второй источник, первый битый
42K
28 января 2011 года
nastyanan
42 / / 20.10.2010
if matr[i,j]>max then begin
max:=matr[i,j];
index:=j;

а что означают эти строки во 2 задаче?
29K
28 января 2011 года
Енот_в_Засаде
224 / / 09.11.2010
в строке ищем максимальный элемент:
if matr[i,j]>max then begin
max:=matr[i,j];
как только нашли его (просмотрев всю строку) запоминаем индекс найденного элемента (чтобы потом вывести на экран)
index:=j;

а еще раньше написан код
max:=matr[i,1];
index:=1;
так вот здесь индекс равен 1, потому что если получиться, что максимальный элемент строки стоит на первом месте, тогда этот код не присвоит значение 1 индексу
if matr[i,j]>max then begin
max:=matr[i,j];
index:=j;

P.S. это самый неудачный код:( но по другому я придумать не смог:confused:
P.P.S разобрались с ошибками?
42K
28 января 2011 года
nastyanan
42 / / 20.10.2010
СПАСИБО БОЛЬШОЕ!
вы очень помогли мне справится со всеми этими зачётами!
с оштбками разобралась)
29K
28 января 2011 года
Енот_в_Засаде
224 / / 09.11.2010
Цитата: nastyanan
СПАСИБО БОЛЬШОЕ!
вы очень помогли мне справится со всеми этими зачётами!
с оштбками разобралась)


ну мне просто самому интересно, чтож там такое было?:)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог