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

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

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

 
 Ответить  Открыть новую тему 
> Помогите решить две задачки пожалуйста (одномерные и двумерные массивы)
сообщение
Сообщение #1





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

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


  1. Создать одномерный массив A[1..N]. Все его элементы,
    не равные нулю, переписать, сохраняя их порядок, в начало массива, а нулевые значения- в конец массива. Новый массив не заводить.
  2. В матрице A[1..N,1..M] вычислить сумму элементов, находящихся правее столбца с максимальным элементом матрицы, и среднее арифметическое элементов, расположенных ниже строки с максимальным элементом матрицы.


1-ю задачку легче решить через цикл While. Во всех задачках массивы задаются randomize. Помогите пожалуйста! Спасибо большое!
give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
1-ю задачку легче решить через цикл While.
Кто сказал? Тут как раз решение через While и через For совершенно одинаковое по сложности... Просто пройти по всему массиву, если элемент a(i) нулевой - то увеличить число нулей, если нет - значит перенести a(i) в позицию a(i - count), где count - число нулей в массиве на данный момент... А потом, по окончании основного цикла, пробежаться по count последних элементов и обнулить их...

Как заполнять массивы случайными значениями, см. в FAQ-е

Вторую задачу сначала разбей на подзадачи, не пытайся сделать все сразу...

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


mea culpa
*****

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

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


К задаче 2,только нет исключения для одинаковых наибольших элементов матрицы.
Код
Program matr;
uses crt;
const N=5;M=5;
var mas:array[1..N,1..M] of integer;
    a,b,c,d,e,x,z:integer;
    y:real;
begin
  randomize;
  clrscr;
  for a:=1 to n do
  for b:=1 to m do
  begin
    mas[a,b]:=random(20);
  end;
  for a:=1 to n do
  begin
    for b:=1 to m do
    begin
      write(mas[a,b],' ');
    end;
    writeln;
  end;
  c:=mas[1,1];
  for a:=1 to n do
  for b:=1 to m do
  begin
    if c<mas[a,b] then c:=mas[a,b];
  end;
  for a:=1 to n do
  for b:=1 to m do
  begin
    if c=mas[a,b] then begin
                         d:=b;
                         e:=a;
                       end;
  end;
  for a:=1 to n do
  for b:=d+1 to m do
  begin
    x:=x+mas[a,b];
  end;
  for a:=e+1 to n do
  z:=0;
  for b:=1 to m do
  begin
    y:=y+mas[a,b];
    z:=z+1;
  end;
  y:=y/z;
  writeln('Сумма-',x);
  writeln('Среднее арифметическое-',y:3:3);
  readln;
end.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






пожалуйста решите задачку:
обнулить все строки двумерного массива A(I..m, I..n) содержащее элемент из интервала(a..b) ) все нулевые строки сдвинуть к началу массива, сохраняя их порядок расположения в массиве. в первой строке входного файла AmnBk.in записаны натуральные числа m и n. во второй стоке файла находятся a и b. в следующих m строках записаны по n целых чисел.
В первую строку выходного файла AmnBk.out записать число не нулевых строк преобразованного массива, а следующих m строках этого файла записаны по n целых чисел - строки преобразованного массива. все числа находятся в диапазоне от 0...10 в 9 степени
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 4.05.2024 19:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name