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

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

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

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

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

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

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

9
 Аватар для Svager
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
14.04.2014, 21:11
Цитата Сообщение от cempel Посмотреть сообщение
Где это необходимо ввести квадратную матрицу. Во всех вариантах вывести исходную матрицу в общепринятом виде и необходимые результаты работы программы.
что???
0
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,479
15.04.2014, 15:46
Цитата Сообщение от 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  [ТС]
Cyborg Drone, спасибо!
0
 Аватар для Svager
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
16.04.2014, 00:32
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
for j := 1 to m do begin for i := 1 to n do
просто из интереса, почему именно по столбикам,а не как обычно ?
0
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,479
16.04.2014, 01:07
Цитата Сообщение от 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
 Аватар для Svager
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
16.04.2014, 01:14
Cyborg Drone, ну вот когда на векторе и матрице Вы хорошо изложили...а вот с ассемблером я не знаком.
0
16.04.2014, 01:53

Не по теме:

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

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

0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
16.04.2014, 09:45
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.
Прогон:
Code
1
Привет!
1
16.04.2014, 12:39

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.04.2014, 12:39
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru