Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.01.2010, 21:08
Asira Asira вне форума
Новичок
 
Регистрация: 11.12.2009
Сообщения: 76
Репутация: -26
По умолчанию Массивы

Дан двумерный массив действительных чисел размером NxM. Поменять местами строки с номерами 1 и 3, 2 и 4, 5 и 7, 6 и 8 и т. д. Мой вариант
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
const N=5;M=7;
type mas=array[1..N,1..M] of integer;
var l:mas; i,j:integer;

 procedure vvod(var l:mas);
var i,j: integer;
begin
randomize;
for i:=1 to N do
for j:=1 to M do
l[i,j]:=random(100);
end;

procedure vivod(l:mas);
var i,j: integer;
begin
for i:=1 to N do begin
for j:=1 to M do
write(l[i,j]:4,' ');  writeln; end;
end;

procedure ioke(var l:mas);
var i,j,p: integer;
begin
i:=1;
while i< = m -2 do
begin
for j:=1 to n do begin
p:=l[i,j];
l[i,j]:=l[i+2,j];
l[i+2,j]:=p;
end;
if i mod 2=0 then i:=i+3
else i:=i+1;end;
end;
begin
vvod(l);vivod(l);
ioke(l);
writeln(' ');
vivod(l);
readln;
end.

Помогите найти ошибку!! Программа работает но из-за того что M >N в последней строке получаются 0 Подскажите как можно это исправить
__________________
Asira
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025