Форум программистов Контакты:
О проблемах с регистрацией, почтой и по другим вопросам пишите сюда - post@programmersforum.ru
По необходимости будем регистрировать вручную. И проверяйте папку спам!
Главная  |  Правила форума  |  Исходники Delphi  |  Основы Delphi  |  Блог программистов  |  Рассылка  |  Повторная активизация e-mail  | 

Вернуться   Форум программистов > Новички в программировании > Помощь студентам

Ответ
 
Опции темы
Старый 05.04.2009, 15:08   #1
bestlover
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 23
Репутация: 7
По умолчанию Заменить максимальный по модулю элемент каждой строки на противоположный по знаку

Задан двумерный массив nxm
1) Заменить максимальный по модулю элемент каждой строки на противоположный по знаку
2) Вставить после каждой четной строки первую строку
3) Удалить все строки содержащие ноль
4) Поменять местами средний столбцы
bestlover вне форума   Ответить с цитированием
Старый 05.04.2009, 15:26   #2
Sazary
В тени
Профессионал
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,785
Репутация: 970
По умолчанию

Где ваши наработки? Что конкретно непонятно?
Пока что я вижу только условие задачи.
Sazary вне форума   Ответить с цитированием
Старый 05.04.2009, 15:48   #3
bestlover
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 23
Репутация: 7
По умолчанию

В том и дело что я не знаю как...
bestlover вне форума   Ответить с цитированием
Старый 05.04.2009, 15:57   #4
bestlover
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 23
Репутация: 7
По умолчанию

по крайней мере дальше не знаю, вот код
program Er_1;
const n=4; m=6;
type dmyarray=array[1..n,1..m] of integer;
var a myarray;
procedure init(var xmyarray);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
x[i,j]:=-25+random(51);
end;
procedure print(xmyarray);
var i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
write(x[i,j]:5);
writeln;
end;
end;
procedure maximum(xmyarray;var max,maxi,maxj:integer);
var i,j:integer;
begin
max:=x[1,1];
maxi:=1;
maxj:=1;
for i:=1 to n do
for j:=1 to m do
if x[i,j]>max then
begin
max :=x[i,j];
maxi:=i;
maxj:=j;
end;
не знаю как дальше делать....=(
bestlover вне форума   Ответить с цитированием
Старый 05.04.2009, 15:57   #5
Sazary
В тени
Профессионал
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,785
Репутация: 970
По умолчанию

Цитата:
В том и дело что я не знаю как...
Что как? "Как это записать на паскале"? (как тут некоторые говорят).
Раз есть задания, то и материал вам давали.

1. В цикле идете по строкам.
Для каждой строки идете по столбцам (по элементам) и ищете максимум по модулю. Запоминаете его индекс. После этого меняете его знак.

2. Чтобы вставить строку, нужно сдвинуть все остальные вниз. Это делается в цикле по строкам начиная с (M+1)-й строки (M - количество строк). Поэлементно копируете строку M в строку M+1. И так пока не доберетесь до места, куда нужно вставить строку.

3. Как я понимаю, в данном случае под удалением подразумевается простой сдвиг вверх всех строк ниже удаляемой. Ну вот. Просто сдвигаете, начиная с номера удаляемой строки.

4.
Цитата:
Поменять местами средний столбцы
Средний столбцы? Может, средние? Тогда это будет работать только если количество столбцов четно. Поэлементно обмениваете. И все.

----------
В задачках нет ничего сложного. И если вы не поленитесь прочитать нужный материал (на это уйдет 1-2 часа. А при том, что вам уже давали нужный материал, еще меньше), то сможете сами их быстро решить.

==================
Цитата:
по крайней мере дальше не знаю, вот код
Код заключайте в тег CODE ("#" на панели в окне редактирования). Так его намного удобнее будет читать.
К какой это задаче?
Собственно, поместите его в CODE. Как видите, там куча смайлов вместо того, что нужно.

Последний раз редактировалось Sazary; 05.04.2009 в 16:00.
Sazary вне форума   Ответить с цитированием
Старый 05.04.2009, 16:12   #6
Sazary
В тени
Профессионал
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,785
Репутация: 970
По умолчанию

Код:

procedure maximum(x:dmyarray;var max,maxi,maxj:integer);

Зачем столько ненужных переменных, да еще и передавать в аргументах?
Понадобится только одна.

Код:

program Er_1;
uses crt;
const n=4; m=6;
type dmyarray=array[1..n,1..m] of integer;

var a : dmyarray;

procedure init(var x : dmyarray);
var i,j:integer;
begin
for i:=1 to n do
 for j:=1 to m do
  x[i,j]:=-25+random(51);
end;

procedure print(x : dmyarray);
var i,j:integer;
begin
for i:=1 to n do
 begin
 for j:=1 to m do
  write(x[i,j]:5);
 writeln;
 end;
writeln;
end;

procedure maximum(var x : dmyarray);
var i,j:integer;
maxj : integer;
begin
for i:=1 to n do
 begin
 maxj := 1;
 for j:=2 to m do
  if abs(x[i,j])>abs(x[i,maxj]) then
   maxj := j;
  x[i,maxj] := -x[i,maxj];
 end;
end;


begin
randomize;
init(a);
print(a);
maximum(a);
print(a);
readln;
end.

Sazary вне форума   Ответить с цитированием
Старый 06.04.2009, 17:04   #7
bestlover
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 23
Репутация: 7
По умолчанию

Цитата:
Раз есть задания, то и материал вам давали.
неа! не давали! Вот именно что на паскале то и не получается ! а алгоритм я знаю как делать!
bestlover вне форума   Ответить с цитированием
Старый 06.04.2009, 17:06   #8
bestlover
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 23
Репутация: 7
По умолчанию

Если бы я мог сам сделать, я бы не обращался за помощью.... Для вас может быть и просто) я примеры смотрел и материал читал) но там легкие примеры , я не знаю как на паскале реализовать!
bestlover вне форума   Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент Галина002 Помощь студентам 1 18.03.2009 06:30
Вставить первую строку после строки, в которой находится первый встреченный максимальный элемент. JiLiYa Паскаль 4 03.12.2008 12:13
Определить максимальный по модулю элемент каждой строки. (Kate) Помощь студентам 2 29.11.2008 21:05
В каждой строке массива выбирается максимальный элемент sergeyfsd Общие вопросы Delphi 2 12.05.2008 23:10
Функция которая в массиве ищет максимальный по модулю элемент Absent Помощь студентам 5 19.11.2007 21:23




16:17.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.

Forex с Admiral Markets — это надежно


Работа на Forex с 2000 года. Очное и дистанционное обучение. Выгодные условия.
магазин горящих туров


более 1000 горящих предложений ежедневно
Бэбиблог - соц сеть для будущих мам


RusProfile.ru


Справочник российских юридических лиц и организаций.