IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> двумерные массивы
pre-dawn-haze
сообщение 15.11.2011 20:36
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский

Репутация: -  0  +


Составить схему алгоритма и программу определения суммы всех четных чисел массива К={kj}, j=1,m, m - число элементов в массиве К (m≤60). Вывести на экран найденное значение суммы, а также все четные числа и их адреса.


не пойму как задать массив
как ограничить
m - число всех элементов?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 16.11.2011 6:01
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(pre-dawn-haze @ 15.11.2011 21:36) *
не пойму как задать массив
как ограничить
m - число всех элементов?

Это неравенство, m<=60, просто говорит о том, какой величины массив тебе нужно заводить. Гарантируется, что входные данные (если массив будет вводиться с клавы или из файла) никогда не превысят 60 чисел.

const
m= 60;

var
a: array[1..60] of integer;
i,s: integer;

begin
write('enter total number of elements: ');
readln(n);
for i:=1 to n do a[i]:= Random(100);
s:= 0;
for i:=1 to n do
if not Odd(a[i]) then begin
s:= s+a[i];
writeln('a = ',a[i],' at i = ',i);
end;
end;
writeln('sum of even elements is ',s);
readln
end.

Тут я использовал заполнение массива случайными числами.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pre-dawn-haze
сообщение 17.11.2011 18:03
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Женский

Репутация: -  0  +


ага, вот оно что=) тогда просто
спасибо
-
а можно еще вопрос?
В прямоугольной матрице размером К*М, имеющей имя МАTR содержаться целые числа. К- число строк, М- число столбцов. Ввести элементы матрицы с клавиатуры. Определить и вывести на экран сумму положительных элементов в каждой строке. Определить строку с максимальным значением этой суммы и вывести ее номер на экран.

я вывожу максимальную сумму, но не могу вывести строку, в которой она находится, как это сделать?

-
program z_122;
var
a:array[1..100, 1..100] of integer;
i, j, st: integer;
m, s, n: integer;
begin
writeln ('Введите количество столбцов' );
readln (m);
writeln ('Введите количество строк');
readln (n);
begin
for i:=1 to n do
for j:=1 to m do
begin
write ('a [ ', i, '' , j, ' ] = ');
read (a[i, j]);
end;
end;
writeln ('Исходная матрица');
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]:4);
writeln;
end;

for i:=1 to n do
begin
s:=0;
for j:=1 to m do
if a[i,j]>0 then
s:=s+a[i,j];
Writeln('Сумма элементов в ', i,' строке равна ', S);
end;
st:=s;
for i:=2 to n do
if s>st then
st:=s;
writeln('Максимальная сумма равна : ', st );
end.


Сообщение отредактировано: pre-dawn-haze - 17.11.2011 19:53
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 18.11.2011 8:36
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(pre-dawn-haze @ 17.11.2011 19:03) *
я вывожу максимальную сумму, но не могу вывести строку, в которой она находится, как это сделать?

Предрассветная-дымка, боюсь, ты не выводишь максимальную сумму.. Погоняй свой код и вникни. Ты выводишь все время только сумму последней строки. Чтобы действительно находить и выводить макс. сумму и номер строки, нужно ее искать в том самом цикле, в котором ты ты считаешь суммы (и в тот же момент запоминать номер строки).

Есть еще один тонкий момент: положительных элементов в строке может и не быть совсем. Мне кажется, что этот момент надо оговаривать особо. Но ты можешь считать, если хочешь, что их сумма просто равна нулю. Ниже я привожу тебе код, в котором все, как я считаю нужным )). Разберись с ним и сделай, как ТЫ хочешь.
program z_122;
var
a:array[1..100, 1..100] of integer;
n,m, i,j, s,sMax,iMax: integer;

begin
write('Введите количество столбцов: ' );
readln(m);
write('Введите количество строк: ');
readln(n);
for i:=1 to n do
for j:=1 to m do begin
write ('a [ ', i, '' , j, ' ] = ');
read (a[i, j]);
end;
writeln ('Исходная матрица');
for i:=1 to n do begin
for j:=1 to m do write (a[i,j]:4);
writeln;
end;
sMax:= -1;
for i:=1 to n do begin
s:=0;
for j:=1 to m do
if a[i,j]>0 then s:= s+a[i,j];
if s=0 then
writeln('в ',i,'-й строке положительных элементов нет')
else
Writeln('сумма положительных элементов ', i,'-й строки равна ', s);
if s>sMax then begin
sMax:= s;
iMax:= i
end
end;
if sMax=0 then
writeln('В матрице нет положительных элементов')
else
writeln('Макс. суммы пол. эл. достигается в строке ',iMax,' и равен ', sMax );
end.

Успехов тебе. Вопросы задавай, не стесняйся.

PS
только для других задач все же создавай новые темы


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Vovan
сообщение 26.11.2011 21:43
Сообщение #5





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Помогите решить задачу, главный вопрос меня интересует, это как удалить столбец в котором все нули? smile.gif

Сообщение отредактировано: Vovan - 26.11.2011 21:44


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.03.2024 18:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"