Помощь - Поиск - Пользователи - Календарь
Полная версия: использование массивов и файлов
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Tauka
       
      [tt] Есть файл в котором размещается последовательность чисел.
        Сформировать из этих чисел двухмерный массив-матрицу. [/tt]

        Если элементы итовой строки матрицы - возрастающая последовательность,то первый елемент каждой из таких строк записать в одномерный массив.
Почему то не получается сделать это условие   ???
                                         
Noname
Что конкретно не получается?
Tauka
Цитата
Если элементы итовой строки матрицы - возрастающая последовательность,то первый елемент каждой из таких строк записать в одномерный массив.
Noname
итоговая строка какая у тебя?
AlaRic
Что-то уж больно много вопрос...мне кажется  ;D
Noname
Цитата
Что-то уж больно много вопрос...мне кажется  ;D

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



ну вот видишь - ты понял а я нет, потому что вопрос сразу надо формулировать путем...
Tauka
не понимаю в чём была проблема формулировки(ну как умею так и...), но в конечном результате вы всё правильно поняли :о) Молодцы! smile.gif
Ivs
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
Ivs
Согласна
Неа, не сама. Но и на том спасибо. ;)
zx1024
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
Цитата
Ivs
Например из нечетного числа элементов у нас не получиться никакая матрица

9 * 9 = 81

Да... просто хотел добавить, но потом забыл что: Нельзя составить матрицу из нечетного числа элементов и если из них нельзя извлечь квадратного корня, (т.е. получить целое число). именно это я хотел сказать.
zx1024
7 * 5 = 35 (про квадратную матрицу никто не говорил).
Ivs
Да,.....действительно ты прав.. тогда здесь все еще запутаннее чем я думал.......
Alex
Тогда, если простое число элементов, тогда  и нельзя!!! Ведь простое делится только на 1 и на само себя!!!
Alex
И скорее всего тут имеется ввиду наверное, что в файле числа стоят уже ввиде таблице, то есть:
1 2 3 6
2 7 10 2
...
12 4 41 2

Я так думаю, но вообще условие очень уж некорректно.
Alex
Всмысле условие задачи!
Ivs
Alex прав именно простые числа не подойдут. их то как то у меня и получалось подбирать сначала,..:), вот, зато удалось получить интересный вывод.
Ivs
Могу доказать что число 60 делится на все числа от 1 до 60, возьмем 1,2,3,4,5,6 - эти числа являются делителями 60, возьму к примеру еще какие нибудь, ну напрмер 10,20,30 - тоже делится. заключаю что число 60 делится на все числа от 1 до 60.

Но это я так к слову. :>)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.