Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ использование массивов и файлов

Автор: Tauka 3.07.2003 2:19

       
      [tt] Есть файл в котором размещается последовательность чисел.
        Сформировать из этих чисел двухмерный массив-матрицу. [/tt]

        Если элементы итовой строки матрицы - возрастающая последовательность,то первый елемент каждой из таких строк записать в одномерный массив.
Почему то не получается сделать это условие   ???
                                         

Автор: Noname 3.07.2003 14:46

Что конкретно не получается?

Автор: Tauka 3.07.2003 17:20

Цитата
Если элементы итовой строки матрицы - возрастающая последовательность,то первый елемент каждой из таких строк записать в одномерный массив.

Автор: Noname 3.07.2003 19:40

итоговая строка какая у тебя?

Автор: AlaRic 3.07.2003 20:14

Что-то уж больно много вопрос...мне кажется  ;D

Автор: Noname 3.07.2003 22:07

Цитата
Что-то уж больно много вопрос...мне кажется  ;D

да потому что сразу надо четко вопрос формулировать! Ты понял где у нее эта строка? Или так же как я догадываешься?

Автор: Alex 5.07.2003 0:47

Причем здесь итоговая строка!!!!! Здесь имеется ввиду допустим мы сформировали массив a[n,m]!!!
У массива n строк и если какая то строка оказалась с возрастающей последовательностью, то первый элемент записать в одномерный массив!!1

Автор: Noname 5.07.2003 15:35

Цитата
Причем здесь итоговая строка!!!!! Здесь имеется ввиду допустим мы сформировали массив a[n,m]!!!
У массива n строк и если какая то строка оказалась с возрастающей последовательностью, то первый элемент записать в одномерный массив!!1



ну вот видишь - ты понял а я нет, потому что вопрос сразу надо формулировать путем...

Автор: Tauka 22.08.2003 10:38

не понимаю в чём была проблема формулировки(ну как умею так и...), но в конечном результате вы всё правильно поняли :о) Молодцы! smile.gif

Автор: Ivs 23.08.2003 0:55

Tauka, ты что эти задачи сама придумываешь, никакой конкретики, что? откуда? как?
Например из нечетного числа элементов у нас не получиться никакая матрица, тем более что эти числа можно записать в разные матрицы (я имею в виду по столбам и строкам),

Цитата
Причем здесь итоговая строка!!!!! Здесь имеется ввиду допустим мы сформировали массив a[n,m]!!!

да, ух ты какой, а где ты эти M и N возмешь, сам может быть придумаешь.................
Короче: Конкретное условие - конкретный ответ.
а пока я только процедуру дам которая определяет является ли итовая строка возрастающей последовательностью, и в соответствии с этим формирует одномерный массив (New).
Код

Procedure CheckStr;
Begin
  k := 1;
  for i := 1 to N do
  begin
     Check := TRUE;
     for j := 2 to M do
     begin
      if A[i,j] <= A[i,j-1] then
      begin
         Check := FALSE;
         Break;
      end;
     end;
     if Check then
     begin
      New[k] := A[i,1];
      k := k + 1;
     end;
  end;
End;

Автор: Tauka 25.08.2003 12:05

Ivs
Согласна
Неа, не сама. Но и на том спасибо. ;)

Автор: zx1024 28.08.2003 21:06

Ivs
Например из нечетного числа элементов у нас не получиться никакая матрица

9 * 9 = 81
И лучше всего делать  не
k := 1; ...
...
New[k] := A[i,1];
k := k + 1;
а...
k := 0;...
...
k := k + 1;
New[k] := A[i,1];
тогда k будет размерностью полученного массива.
Здесь разницы почти никакой, но к хорошему надо смолоду привыкать.

Автор: Ivs 29.08.2003 19:14

Цитата
Ivs
Например из нечетного числа элементов у нас не получиться никакая матрица

9 * 9 = 81

Да... просто хотел добавить, но потом забыл что: Нельзя составить матрицу из нечетного числа элементов и если из них нельзя извлечь квадратного корня, (т.е. получить целое число). именно это я хотел сказать.

Автор: zx1024 31.08.2003 11:30

7 * 5 = 35 (про квадратную матрицу никто не говорил).

Автор: Ivs 31.08.2003 14:16

Да,.....действительно ты прав.. тогда здесь все еще запутаннее чем я думал.......

Автор: Alex 31.08.2003 17:57

Тогда, если простое число элементов, тогда  и нельзя!!! Ведь простое делится только на 1 и на само себя!!!

Автор: Alex 31.08.2003 17:59

И скорее всего тут имеется ввиду наверное, что в файле числа стоят уже ввиде таблице, то есть:
1 2 3 6
2 7 10 2
...
12 4 41 2

Я так думаю, но вообще условие очень уж некорректно.

Автор: Alex 31.08.2003 17:59

Всмысле условие задачи!

Автор: Ivs 31.08.2003 23:07

Alex прав именно простые числа не подойдут. их то как то у меня и получалось подбирать сначала,..:), вот, зато удалось получить интересный вывод.

Автор: Ivs 31.08.2003 23:11

Могу доказать что число 60 делится на все числа от 1 до 60, возьмем 1,2,3,4,5,6 - эти числа являются делителями 60, возьму к примеру еще какие нибудь, ну напрмер 10,20,30 - тоже делится. заключаю что число 60 делится на все числа от 1 до 60.

Но это я так к слову. :>)