Сохранен 88
https://2ch.su/b/res/167864770.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним OP 30/12/17 Суб 03:18:22 #1 №167864770 
изображение.png
Приветствую, аноны-программисты. Хочу попросить вас помочь решить мне одну задачку:

Дана матрица X[6,8]. Упорядочить элементы столбцов матрицы по невозрастанию, а сами столбцы по возрастанию произведения элементов столбцов.

Пикрелейтед то, что есть. Заранее благодарствую.

Аноним OP 30/12/17 Суб 03:19:29 #2 №167864791 
изображение.png
Бамп тянучкой.
Аноним 30/12/17 Суб 03:20:24 #3 №167864816 
изображение.png
Бамп котиком.
Аноним OP 30/12/17 Суб 03:21:53 #4 №167864858 
изображение.png
Бамп сисечками. Ну помогите, пожалуйста.
Аноним 30/12/17 Суб 03:24:25 #5 №167864917 
Я бы помог, но я уже в пижаме.
Аноним OP 30/12/17 Суб 03:25:46 #6 №167864933 
изображение.png
Отчаянный бамп.
Аноним OP 30/12/17 Суб 03:27:59 #7 №167864985 
изображение.png
Еще пару раз бампну и пойду плакать.
Аноним 30/12/17 Суб 03:29:07 #8 №167865013 
>>167864791
>>167864858
>>167864933
Дрочишь на них?
Аноним OP 30/12/17 Суб 03:30:15 #9 №167865037 
изображение.png
>>167865013

Восхищаюсь. Так ты поможешь или нет?
sageАноним 30/12/17 Суб 03:30:34 #10 №167865044 
> паскаль
ПТУшное животное не палится. Сажи тупому уебку.
Аноним 30/12/17 Суб 03:31:20 #11 №167865059 
Ты шо даун? Иди спать. Новый год скоро, а ты как сыч за компьютером сидишь.
Аноним OP 30/12/17 Суб 03:31:47 #12 №167865068 
>>167865044

Первый курс БГУИРа, так что не надо тут.
Аноним 30/12/17 Суб 03:35:38 #13 №167865157 
14978773313090.jpg
Праграммисты - пидараси!
Аноним 30/12/17 Суб 03:37:00 #14 №167865179 
>>167865037
Я тебе помогу, но только не так как ты хочешь, но моя помощь будет более настоящей. Так вот. Бросай учебу которая тебе не нравится.
Аноним 30/12/17 Суб 03:37:19 #15 №167865187 
>>167865157
Я согласен если меня назовут пидорасом, лишь бы 300к дали в секунду
Аноним 30/12/17 Суб 03:37:28 #16 №167865191 
>>167864770 (OP)
>по невозрастанию
Уебать бы тебе лопатой по голове.
Аноним 30/12/17 Суб 03:38:05 #17 №167865201 
Кинешь сотку на киви сделаю
Аноним 30/12/17 Суб 03:41:24 #18 №167865271 
>>167865191
ТЫ ЧЁ ЕБАТЬ! НУ ЗАДАЧА ТАКАЯ! КОНЬ ТЫ ЕБАНЫЙ!
Аноним 30/12/17 Суб 03:44:30 #19 №167865327 
Ну че уже сам сделол?
Аноним OP 30/12/17 Суб 03:45:25 #20 №167865340 
>>167865327

Нет еще, жду помощи.
Аноним 30/12/17 Суб 03:45:25 #21 №167865341 
>>167865187
да, если они при этом еще и аниме смотрят
Аноним 30/12/17 Суб 03:45:56 #22 №167865350 
>>167865271
Твой код - говно;
Ты - говно;
И тот кто написал такое задание используя "по невозрастанию" - тоже говно.
Аноним 30/12/17 Суб 03:46:03 #23 №167865353 
Дайте имя, ананасы https://m.yeptube.com/ru/video/181635/interracial-teen-takes-2-bbc-webcam-interracial-amateur-pt2
Аноним 30/12/17 Суб 03:46:52 #24 №167865365 
>>167864770 (OP)
Гугли сортировку массива. Это так сложно?
Аноним 30/12/17 Суб 03:47:30 #25 №167865379 
>>167865191
А как правильно ?
Аноним 30/12/17 Суб 03:48:37 #26 №167865397 
>>167865340
>>167865201
Аноним 30/12/17 Суб 03:48:56 #27 №167865401 
>>167865379
По убыванию
Аноним 30/12/17 Суб 03:50:03 #28 №167865426 
Что именно тебе непонятно? Сортировка элементов столбцов или сортировка самих столбцов?
И да, нах ты заменяешь все нулевые элементы единицами? Это обговорено в задании? Если да, можно же просто задавать их random(9)+1
Аноним OP 30/12/17 Суб 03:50:18 #29 №167865432 
>>167865401

Тут ты не прав. Есть убывание, а есть невозрастание.
Аноним OP 30/12/17 Суб 03:51:03 #30 №167865446 
>>167865426

Есть другой красивый способ убрать нули из массива?
Аноним 30/12/17 Суб 03:51:58 #31 №167865470 
>>167865432
>Тут ты не прав. Есть убывание, а есть невозрастание.
Какая нафиг разница? Порядок одинаковых элементов по-любому значения не имеет, поскольку они одинаковые. И вообще, есть ascending, есть descending - точка.
Аноним 30/12/17 Суб 03:52:37 #32 №167865480 
>>167865446
x[i,j]:=random(9)+1;

Будут инты от 1 до 10.
Аноним 30/12/17 Суб 03:53:26 #33 №167865492 
>>167865470
Неубывание допускает равенство элементов последовательности, возрастание - нет.
Аноним 30/12/17 Суб 03:55:22 #34 №167865525 
>>167865470
Если последовательность 1,2,3,3,5 возрастающая, значит 3<3. Если неубывающая, то все ок.
Аноним OP 30/12/17 Суб 03:56:15 #35 №167865543 
>>167865480

Спасибо, анон. А что скажешь насчет сортировки?
Аноним 30/12/17 Суб 03:58:46 #36 №167865585 
>>167865543
Если размеры не слишком большие, пузырек - наше все (ну или любой другой несложный метод).
Аноним 30/12/17 Суб 03:58:46 #37 №167865587 
>>167865525
>>167865492
Какой смысл различать возрастающие и не убывающие последовательности? Алгоритмы сортировки работают одинаково в обоих случаях.
Аноним 30/12/17 Суб 04:00:31 #38 №167865619 
>>167865587
С точки зрения математической терминологии - разные понятия.
Аноним OP 30/12/17 Суб 04:02:03 #39 №167865646 
изображение.png
изображение.png
>>167865585

Что-то получилось, но всё равно не так.
Аноним 30/12/17 Суб 04:04:10 #40 №167865675 
>>167865646
стрелочку поверни
Аноним 30/12/17 Суб 04:04:52 #41 №167865682 
>>167865646
3-я строка: m-r, а не m-1
Аноним 30/12/17 Суб 04:05:17 #42 №167865692 
>>167865619
>С точки зрения математической терминологии - разные понятия.
Посмотрел - так и есть. Но с точки зрения программирования это одно и тоже. Сортировка, как я уже сказал, хорошо работает в обоих случаях. Есть повторяющиеся элементы или нет - ни на что не влияет.
Аноним OP 30/12/17 Суб 04:06:58 #43 №167865720 
изображение.png
изображение.png
>>167865682

А еще количество строк и столбцов не так, не знаешь, как исправить?
Аноним 30/12/17 Суб 04:09:26 #44 №167865756 
>>167865692
> с точки зрения программирования - одно и то же
Я и не говорю, что это не так, просто лучше, как мне кажется, использовать корректные термины.
Аноним 30/12/17 Суб 04:10:27 #45 №167865776 
>>167865720
Поменяй значения M и N.
Аноним 30/12/17 Суб 04:11:20 #46 №167865785 
>>167865756
>как мне кажется, использовать корректные термины
Конечно лучше. Но мне, как прикладному программисту (или как это там называется), это делать лень.
Аноним OP 30/12/17 Суб 04:16:38 #47 №167865849 
>>167865776

Спасибо тебе, анонче. Спас меня от неминуемой гибели. руку пожал
Аноним 30/12/17 Суб 04:24:00 #48 №167865947 
>>167865849
Ты доделал, что ли?
Аноним OP 30/12/17 Суб 04:25:13 #49 №167865960 
>>167865947

Нет еще, а ты поможешь сделать до конца? Там совсем чуть-чуть осталось, с произведением разобарться бы.
Аноним 30/12/17 Суб 04:27:50 #50 №167866005 
>>167865960
Самая сложная часть твоего заданияСовсем чуть-чуть
Аноним 30/12/17 Суб 04:28:24 #51 №167866019 
>>167865960
Есть одна интересная фишка (костыль) : нужна еще нулевая строка матрицы. В нее записываешь при заполнении произведение элементов каждого столбца. По этой строке уже сортируешь.
Аноним OP 30/12/17 Суб 04:29:16 #52 №167866034 
>>167865947

Произведение элементов столбцов я нашел, а как их отсортировать в порядке возрастания?

>>167866005

Для меня всё сложно, пока что, хехе.
Аноним OP 30/12/17 Суб 04:30:31 #53 №167866054 
изображение.png
>>167866019

Вот как-то так.
Аноним 30/12/17 Суб 04:31:12 #54 №167866065 
>>167866034 --> >>167866019
Переставляешь не только элементы нулевой строки, но и элементы всех остальных строк вместе с ними.
Аноним OP 30/12/17 Суб 04:34:23 #55 №167866107 
>>167866065

А можно попроще немного, а то в 4.30 тяжко соображается.
Аноним 30/12/17 Суб 04:39:17 #56 №167866166 
>>167866107
procedure MatrixInput(var x:matrix);
var
i,j:integer;
begin
for i:=1 to M do
for j:=1 to N do
begin
x[i,j]:=random(9)+1;
x[0,j]:=x[0,j]*x[i,j]
end
end;

Это процедура заполнения матриц. При этом массив надо задать как array[0..M,1..N] of integer;
Аноним 30/12/17 Суб 04:40:11 #57 №167866178 
>>167866166
Соре, проебался, забыл, что незначащие пробелы стираются.
Аноним OP 30/12/17 Суб 04:45:26 #58 №167866247 
изображение.png
>>167866166

Чет всё поломалось.
Аноним OP 30/12/17 Суб 04:47:05 #59 №167866273 
>>167866247

А нет, поменял местами M и N, и всё заработало. Но как дальше их отсортировать?
Аноним 30/12/17 Суб 04:47:13 #60 №167866275 
>>167866247
Можешь код скинуть?
Аноним OP 30/12/17 Суб 04:48:21 #61 №167866289 
//Заполняем матрицу
For i:=1 to M do
For j:=1 to N do
begin
x[i,j]:=random(9)+1;
x[0,j]:=x[0,j]x[i,j];
end;

//Вывод матрицы
For i:=1 to N do
Begin
For j:=1 to M do
Write (' ',x[i,j]:2);
Writeln;
end;
Writeln;

For j:=1 to M do
Begin
p:=1;
for i:=1 to N do
p:=p
x[i,j];
end;
writeln;

For j:=1 to N do
For r:=1 to M do
For i := 1 to m - r do
If x[i,j]<x[i+1,j] then
Begin
t:=x[i,j];
x[i,j]:=x[i+1,j];
x[i+1,j]:=t;
end;

For i:=1 to N do
Begin
For j:=1 to M do
write(' ', x[i,j]:2);
writeln;
End;
>>167866275
Аноним 30/12/17 Суб 04:50:47 #62 №167866321 
emblem195x195.png
>>167866247
Наверное убиваю всё веселье и оказываю "медвежью услугу" вот тут кароче всё работает https://pastebin.com/dANZ4wwR
Трикс от анона с нулевой строкой реально годный, если не западло можешь поменять, заодно и разберёшься чё к чему. А то я для это приплёл ещё один массив.
Аноним 30/12/17 Суб 04:51:05 #63 №167866326 
>>167866273
Так же, как ты сортировал элементы столбцов, но теперь тебе нужы: два внешних цикла (собственно, сортировка; они такие же как и в сортировке столбцов) и внутренний, в котором ты проходишь по двум столбцам и меняешь элементы.
Могу написать и вкинуть, если надо.
Аноним OP 30/12/17 Суб 04:52:18 #64 №167866348 
>>167866326

Было бы очень кстати. Представить себе не можешь, как я тебе благодарен. с:
Аноним 30/12/17 Суб 04:56:50 #65 №167866416 
>>167866348
>>167866321
Аноним 30/12/17 Суб 05:00:34 #66 №167866484 
Screenshot2017-12-30-04-59-06.jpg
>>167866348
Вот, написал. Вроде должно работать.
Аноним OP 30/12/17 Суб 05:09:19 #67 №167866614 
>>167866484

Ну ты голова, анон. Я даже не знаю, как тебе сказать спасибо, ведь ты потратил на меня столько времени, хех. Просто знай, что где-то далеко, челик не вылетит с универа и продолжит учебу. И всё благодаря тебе. Если у тебя ночь, то иди уже дремай, а я пойду разбираться, как это всё работает. Спасибо. с:
Аноним 30/12/17 Суб 05:11:35 #68 №167866653 
>>167866614
Оно заработало? Просто мне только что показалось, что я проебался, и там вместо x[k+1,j] должно быть x[k,j+1].
Аноним 30/12/17 Суб 05:11:52 #69 №167866659 
>>167866614

Ой, постой. Тут немного неправильно, я подсчитал вручную, и не в том порядке.
Аноним 30/12/17 Суб 05:14:09 #70 №167866701 
>>167866659
В выводе матрицы M поменяй с N.
Аноним OP 30/12/17 Суб 05:16:56 #71 №167866747 
>>167866701

Тогда неправильное кол-во столбцов и строк, получается 6 ст. и 8 строк, а надо наоборот. :/
Аноним 30/12/17 Суб 05:17:56 #72 №167866768 
>>167866659

Даже элементы столбцов не те. :с
Аноним 30/12/17 Суб 05:19:40 #73 №167866801 
>>167866747
Молодой человек, продублирую ссылку на пастебин и сваливаю в закат. https://pastebin.com/dANZ4wwR
Аноним 30/12/17 Суб 05:20:20 #74 №167866815 
>>167866801

Спасибо, гляну сейчас.
Аноним 30/12/17 Суб 05:22:35 #75 №167866845 
>>167866747
Таак, падажжи ебана...

В разделе констант надо M с N поменять.
Аноним 30/12/17 Суб 05:25:48 #76 №167866903 
>>167866845
И как у тебя вообще работает вот это? Ты не вылетаешь за границы массива? Ведь строк - M, а столбцов - N:

For i:=1 to N do
Begin
For j:=1 to M do
write(' ', x[i,j]:2);
writeln;
End;

Надо ведь так, по идее:

For i:=1 to N do
Begin
For j:=1 to M do
write(' ', x[i,j]:2);
writeln;
End;
Аноним 30/12/17 Суб 05:26:47 #77 №167866920 
>>167866903

Должно быть N строк и M столбцов. Может, мы не так поняли друг друга.


Аноним 30/12/17 Суб 05:29:47 #78 №167866962 
>>167866920
Блэт. Можешь целиком код вкинуть тогда?
Аноним OP 30/12/17 Суб 05:31:59 #79 №167866994 
>>167866962

Const
N=6;
M=8;

Var
X:array [0..M,1..N] of integer;
i, j, p, t, r, k, tmp:integer;

Begin
setconsoleCP(1251);
setconsoleoutputCP(1251);
randomize;
Writeln('Ìàòðèöà:');
Writeln;

//Zapolnenie matrici
For i:=1 to M do
For j:=1 to N do
begin
x[i,j]:=random(9)+1;
x[0,j]:=x[0,j]*x[i,j];
end;

//Vivod matrici
For i:=1 to N do
Begin
For j:=1 to M do
Write (' ',x[i,j]:2);
Writeln;
end;
Writeln;


For j:=1 to N do
For r:=1 to M do
For i := 1 to m - r do
If x[i,j]<x[i+1,j] then
Begin
t:=x[i,j];
x[i,j]:=x[i+1,j];
x[i+1,j]:=t;
end;

For i:=1 to N do
begin
for j:=1 to N-i do
if x[0,j+1]>x[0,j] then
for k:=0 to M do
begin
tmp:=x[k+1,j];
x[k,j+1]:=x[k,j];
x[k,j]:=tmp;
end;
end;



For i:=1 to N do
Begin
For j:=1 to M do
write(' ', x[i,j]:2);
writeln;
End;


readln
end.


Какая то вот такая штука получается.
sageАноним 30/12/17 Суб 05:32:11 #80 №167866997 
Сажи тупому уебку.
Аноним OP 30/12/17 Суб 05:32:54 #81 №167867009 
>>167866997

Вежливо попрошу тебя съебать отсюда.
Аноним 30/12/17 Суб 05:39:37 #82 №167867102 
>>167866994
>>167866962

Const
N=6;
M=8;

Var
X:array [0..N,1..M] of integer;
i, j, p, t, r, k, tmp:integer;

Begin
setconsoleCP(1251);
setconsoleoutputCP(1251);
randomize;
Writeln('Ìàòðèöà:');
Writeln;

//Zapolnenie matrici
For i:=1 to N do
For j:=1 to M do
begin
x[i,j]:=random(9)+1;
x[0,j]:=x[0,j]*x[i,j];
end;

//Vivod matrici
For i:=1 to N do
Begin
For j:=1 to M do
Write (' ',x[i,j]:2);
Writeln;
end;
Writeln;

For j:=1 to M do
For r:=1 to N do
For i := 1 to N - r do
If x[i,j]<x[i+1,j] then
Begin
t:=x[i,j];
x[i,j]:=x[i+1,j];
x[i+1,j]:=t;
end;

For i:=1 to M do
begin
for j:=1 to M-i do
if x[0,j+1]>x[0,j] then
for k:=0 to N do
begin
tmp:=x[k,j+1];
x[k,j+1]:=x[k,j];
x[k,j]:=tmp;
end;
end;

For i:=1 to N do
Begin
For j:=1 to M do
write(' ', x[i,j]:2);
writeln;
End;

readln
end.

Подправил.
Аноним OP 30/12/17 Суб 05:43:33 #83 №167867179 
>>167867102

Вроде норм, но теперь нету сортировки самих столбцов. (я тебя уже задолбал, наверное)
Аноним 30/12/17 Суб 05:45:24 #84 №167867209 
>>167867179
Третий блок кода, начиная с заполнения же.
Аноним 30/12/17 Суб 05:48:52 #85 №167867259 
>>167867209
Я думаю он про сортировку столбцов по возрастанию произведения, ты ж заполнение нулевой строки зафакапил.
>x[0,j] не инициализируется
>x[0,j]:=x[0,j]*x[i,j];
Аноним OP 30/12/17 Суб 05:52:29 #86 №167867309 
изображение.png
>>167867209

Эти цифры - это произведение элементов столбцов по порядку. И, как видишь, они не в ом порядке расставлены. :/
Аноним 30/12/17 Суб 05:53:17 #87 №167867320 
>>167867259
Бляяяя, точняк! FreePascal, да и ABC тоже, заполняет эти строки нулями по умолчанию. Надо в самом начале вот это прописать:

for j:=1 to M do
x[0,j]:=1;

Спасибо, анон.
Аноним OP 30/12/17 Суб 05:59:18 #88 №167867391 
>>167867320

Хехе, заработало, теперь уже точно. Спасибо, ананасик. Желаю тебе всего самого доброго и хорошего. :) Доброй ночи/доброго утра всем, тред закрыт.
comments powered by Disqus