Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 23:53   #1
mugler02
 
Регистрация: 24.12.2010
Сообщений: 3
По умолчанию Вставка строки в двумерном массиве

Прошу помочь разобраться с решением задачи:

В двумерном массиве вставить перед всеми строками, первый элемент которых делится на 3, строку из нулей.

Заранее спасибо.
mugler02 вне форума Ответить с цитированием
Старый 26.12.2010, 10:37   #2
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Сообщений: 167
По умолчанию

Вот код без считывания из фаила:


Код:
var a:array [1..100, 1..100] of integer;
     i,j, n, m:integer;
begin
//1
// считывание 
read(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
//основная обработка
for i:=1 to n do
if a[i,1] mod 3 =0 then 
begin
for j:=1 to m do
a[i,j]:=0;
end;
//вывод ответа
for i:=1 to n do begin
writeln;
for j:=1 to m do
write(a[i,j]:3);
end;
end.
если нужна работа с фаилами вставь вместо //1 код:


Код:
assign(input,'input.txt');
reset(input);
assign(output,'output.txt');
rewrite(output);
в коде можешь поменять 'input.txt' и 'output.txt' (фаилы ввода / вывода)
Если я тебе помог, помоги и ты мне +ом с комментарием

Последний раз редактировалось Stilet; 26.12.2010 в 11:42.
Ponkole вне форума Ответить с цитированием
Старый 26.12.2010, 11:32   #3
mugler02
 
Регистрация: 24.12.2010
Сообщений: 3
По умолчанию

Спасибо.

Ещё вот такая задачка:
В двумерном массиве удалить столбец, в котором находится первый четный отрицательный элемент.
Как я понимаю,
Код:
...
k:=0;
for j:=1 to n do
 begin
  for i:=1 to m do
  if (a[i,j]<0)and (a[i,j]) mod 2 <> 0 then{если отрицательный и нечетный}
        k:=j;{запоминаем номер столбца}
 end;
if k=0 then write('В матрице нет отрицательных нечетных элементов')
else
 begin
  writeln('Номер первого столбца с нечетным отрицательным элементом=',k);
  for i:=1 to m do{всем элементы всех строк}
  for j:=k to n-1 do{от номера столбца до предпоследнего}
  a[i,j]:=a[i,j+1];{присваиваем значение следующего}
  n:=n-1;{уменьшаем количество столбцов}
 end;
writeln('Удаление столбца:');
…
Как думаете, верно?

Последний раз редактировалось Stilet; 27.12.2010 в 09:02.
mugler02 вне форума Ответить с цитированием
Старый 27.12.2010, 06:35   #4
NioTo
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 32
По умолчанию

В задании написано, что надо найти элемент с четным значением, а в программе ищется с нечетным. И используется псевдоуменьшение столбцев, не знаю прокатит такое или нет...
NioTo вне форума Ответить с цитированием
Старый 27.12.2010, 21:53   #5
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Сообщений: 167
По умолчанию

Оцени если несложно мой труды + ом
и по мему неправильно реализован алгоритм поиска первого нечетного отрицательного числа
Код:
...
k:=0;
for j:=1 to n do
 begin
  for i:=1 to m do
  if (a[i,j]<0)and (a[i,j]) mod 2 <> 0 then{если отрицательный и нечетный}
        k:=j;{запоминаем номер столбца}
 end;
...
Этот код находит последний элемент, удовлеворяющий условию. Чтобы найти первый элемент я советую поменять его на
Код:
k:=0;
for j:=1 to n do
 begin
  for i:=1 to m do
        if k=0 then // это всё
  if (a[i,j]<0)and (a[i,j]) mod 2 <> 0 then{если отрицательный и нечетный}
        k:=j;{запоминаем номер столбца}
 end;
И, как я понял условие, нужно искать другим способом - идеш по строкам ишешь в столбцах, а ты делаешь наоборот идешь по столбцам ишешь в строках, так что замени на:

Код:
k:=0;
for i :=1 to m do
 begin
  for j :=1 to n do
   if k=0 then
  if (a[i,j]<0)and (a[i,j]) mod 2 <> 0 then{если отрицательный и нечетный}
        k:=j;{запоминаем номер столбца}
 end;
Если я тебе помог, помоги и ты мне +ом с комментарием
Ponkole вне форума Ответить с цитированием
Старый 29.12.2010, 20:27   #6
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Сообщений: 167
По умолчанию

Если не трудно оцени работу +ом и комментарием
Если я тебе помог, помоги и ты мне +ом с комментарием
Ponkole вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3. Вывести номер строки наименьшего элемента в двумерном массиве zebatic Помощь студентам 1 11.06.2010 00:14
Игра на двумерном массиве Serg-Grin Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 19.02.2010 20:51
Как можно обратиться к элементу строки в двумерном массиве ? fermerius Помощь студентам 1 06.02.2010 19:14
Как найти в двумерном массиве МАХ элемент каждой строки? Jasper92 Общие вопросы C/C++ 9 16.12.2009 12:58
Random в двумерном массиве. Lazio Помощь студентам 7 01.11.2009 22:53