Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 28
1

Для задания исходной матрицы предусмотреть ввод с клавиатуры или ввод с помощью датчика случайных чисел

13.04.2014, 19:16. Показов 2941. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Разработать алгоритм и написать программу на языке Turbo Pascal.
Задана матрица (двумерный массив) A размером N x М, состоящая из действительных элементов. Числа M и N вводятся с клавиатуры. Для задания исходной матрицы предусмотреть ввод с клавиатуры или ввод с помощью датчика случайных чисел. Где это необходимо ввести квадратную матрицу. Во всех вариантах вывести исходную матрицу в общепринятом виде и необходимые результаты работы программы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2014, 19:16
Ответы с готовыми решениями:

Вывести числовую матрицу 6×9 с помощью датчика случайных чисел и число k(ввод с клавиатуры)
вывести числовую матрицу 6×9 с помощью датчика случайных чисел и число k(ввод с клавиатуры). число ...

В программе предусмотреть ввод исходной информации о четырех студентах
Пробовал решить данную задачу таким образом: #include <stdio.h> #include <conio.h> #include...

Составить программу,в которой предусмотреть ввод исходной информации о четырех студентах
Составить программу,в которой предусмотреть ввод исходной информации о четырех студентах: -фамилия...

Структуры. Составить программу, в которой предусмотреть ввод исходной информации о четырех студентах
Составить программу, в которой предусмотреть ввод исходной информации о четырех студентах:...

9
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
14.04.2014, 21:11 2
Цитата Сообщение от cempel Посмотреть сообщение
Где это необходимо ввести квадратную матрицу. Во всех вариантах вывести исходную матрицу в общепринятом виде и необходимые результаты работы программы.
что???
0
Модератор
9874 / 5242 / 3306
Регистрация: 17.08.2012
Сообщений: 16,012
15.04.2014, 15:46 3
Цитата Сообщение от cempel Посмотреть сообщение
Где это необходимо ввести квадратную матрицу
Где это необходимо, по какой причине и о чём идёт речь - неясно.
Цитата Сообщение от cempel Посмотреть сообщение
Во всех вариантах
Полагаю, что Вы не знали, не поняли, забыли выложить к этому общему заданию Ваш индивидуальный вариант. Но... Каков вопрос, таков и ответ. Вот Вам программа, вводит с клавиатуры размер матрицы NxM до 15х15 включительно, так как большие размеры "в общепринятом виде" на экране не поместятся, генерирует действительные значения элементов матрицы и тут же их выводит на дисплей.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const mx = 15;
var a: array [1..mx, 1..mx] of real;
    i, j, n, m: integer;
begin
  randomize;
  repeat
    write('N = ');
    readln(n);
    if n > mx
      then writeln('Error: N > ', mx)
      else begin
        write('M = ');
        readln(m);
        if m > mx then writeln('Error: M > ', mx)
      end;
  until (n <= mx) and (m <= mx);
  writeln('Source matrix:');
  for j := 1 to m do
    begin
      for i := 1 to n do
        begin
          a[i, j] := random * 20 - 10;
          write(a[i, j]:5:1)
        end;
      writeln
    end;
  readln
end.
Программа работает отлично, однако, полагаю, два балла Вы за неё получите. Причина этой неувязочки, надеюсь, Вам уже ясна.
1
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 28
15.04.2014, 21:58  [ТС] 4
Cyborg Drone, спасибо!
0
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
16.04.2014, 00:32 5
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
for j := 1 to m do begin for i := 1 to n do
просто из интереса, почему именно по столбикам,а не как обычно ?
0
Модератор
9874 / 5242 / 3306
Регистрация: 17.08.2012
Сообщений: 16,012
16.04.2014, 01:07 6
Цитата Сообщение от Svager Посмотреть сообщение
почему именно по столбикам,а не как обычно ?
Вообще-то, это чистая условность. И что значит "как обычно"? Как принято? Если честно, мне всё равно, как и у кого что принято. Однако, если посмотреть, как элементы массива располагаются в памяти компьютера, то можно сказать, что я более прав, что ли...
одномерный массив, 3 элемента:
[1][2][3]
Двумерный массив, 3х3 элемента:
[1,1][2,1][3,1] [1,2][2,2][3,2] [1,3][2,3][3,3]
то есть, соседние элементы первого индекса (i) располагаются рядом, а второго индекса (j) - через километр. Поэтому внутренний цикл лучше делать по первому индексу, чтобы для индексирования соседних элементов можно было использовать более быстрые, чем сложение или вычитание, операции инкремента или декремента. Сбственно, если компилятор оптимизирующий, он и будет использовать внутренний цикл вида
Assembler
1
2
3
mov cx, max_i;
@1: ;....тело цикла
loop @1
а не
Assembler
1
2
3
4
mov cx, max_i
@1: ;...тело цикла
sub cx, str_len
jnz @1
Чувствуете разницу? В первом случае ещё и декремент неявный.
0
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
16.04.2014, 01:14 7
Cyborg Drone, ну вот когда на векторе и матрице Вы хорошо изложили...а вот с ассемблером я не знаком.
0
Cyborg Drone
16.04.2014, 01:53
  #8

Не по теме:

Ну, для того и создали языки высокого уровня, чтоб с ассемблером не знакомиться... Ассемблер, конечно, "самый лучший" язык... Каждая его инструкция транслируется в одну машинную команду... Что хошь, то и твори... Одна беда: программа, вследствие излишней "подробности", пишется очень долго. Типа, в паскале строчка, в ассемблере - десять. Да ещё и необходимо досконально знать аппаратную часть, не снаружи, а прям из ливера... Ну его, такое счастье. Однако, программисты ассемблер учат... Чтобы была возможность написать, как нравится (быстрее, оптимальнее, иногда даже короче...). Не зря же в любом языке высокого уровня до сих пор есть возможность ассемблерных вставок... В Паскале это

Pascal
1
2
3
asm
//здесь можно писать на ассемблере
end;

0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7771 / 4600 / 2824
Регистрация: 22.11.2013
Сообщений: 13,080
Записей в блоге: 1
16.04.2014, 09:45 9
Cyborg Drone,
Двумерный массив, 3х3 элемента:
[1,1][2,1][3,1] [1,2][2,2][3,2] [1,3][2,3][3,3]
-- это в Фортране. В Turbo Pascal-е хранение построчное:
[1,1][1,2][1,3] [2,1][2,2][2,3] [3,1][3,2][3,3]
А поскольку с ассемблером знакомы, проверить будет несложно (на самом деле хватит и указателя).

Добавлено через 35 минут
Pascal
1
2
3
4
5
6
7
8
var
  a: array [1..3,1..3] of char;
begin
  a[1,1]:='П'; a[1,2]:='р'; a[1,3]:='и'; 
  a[2,1]:='в'; a[2,2]:='е'; a[2,3]:='т';
  a[3,1]:='!'; a[3,2]:=#0;
  WriteLn(PChar(@a));
end.
Прогон:
Код
Привет!
1
Cyborg Drone
16.04.2014, 12:39     Для задания исходной матрицы предусмотреть ввод с клавиатуры или ввод с помощью датчика случайных чисел
  #10

Не по теме:

bormant, спасибо... В паскале не смотрел как следует... Глянул в дебаггере, действительно, не как в фортране... Что ж, век живи, век учись, и дураком помрёшь один фиг...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2014, 12:39

Ввод с клавиатуры 7 целых чисел и ввод этих чисел в обратном порядке
Я не могу выполнить одну задачу.Составте задачу для ввода с клавиатуры 7 целых чисел и ввода этих...

Формирование массива с помощью датчика случайных чисел
Задание: Напиши программу формирования массива размером 5 х 5 с помощью датчика случайных чисел....

С помощью датчика случайных чисел сформировать матрицу
составить программу, позволяющую с помощью датчика случайных чисел сформировать матрицу (mxn)....

С помощью датчика случайных чисел сформировать матрицу (N*M)
Составить программу, позволяющую с помощью датчика случайных чисел сформировать матрицу (N*M),....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru