Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 20.05.2012, 02:10   #1 (permalink)
Christian
Member
 
Регистрация: 20.05.2012
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача на Паскаль

Разработать программу создания текстового файла, который содержит матрицу случайных чисел заданного размера из указанного диапазона целых чисел и находит простые числа.
Christian вне форума   Ответить с цитированием

Старый 20.05.2012, 02:10
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Наверняка в похожих топиках вы найдете много полезной для себя информации

Задача, Паскаль
Задача. Паскаль
Задача на языке Паскаль
Задача в Паскаль
Задача про стоки, Паскаль
Паскаль. Задача о сторожах

Старый 20.05.2012, 12:14   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Christian Посмотреть сообщение
Разработать программу создания текстового файла, который содержит матрицу случайных чисел заданного размера из указанного диапазона целых чисел и находит простые числа.
Есть, сэр! Разработал, сэр!
Код:
Const
 Mmax=10;
 Nmax=9;
 Lmin=0;
 Lmax=64000;
Var
 A:Array[1..Mmax,1..Nmax] of Word;
 M,N,i,j,Npr:Byte;
 L,L1,L2:Word;
 f:Text;

Function Prime(V:Word):boolean;
var
 k:Word;
 b:Boolean;
begin
 b:=false;
 If V>3 then
  begin
   k:=V div 2;
   Repeat
    If (V mod k)=0 then b:=Not(b);
    Dec(k);
   Until b or (k=1);
  end;
 Prime:=Not(b);
end;

Begin
 Write('Number of lines (<',Mmax+1,') = ');
 Readln(M);
 Write('Number of columns (<',Nmax+1,') = ');
 Readln(N);
 Write('Lower element value limit (>',Lmin,') = ');
 Readln(L1);
 Write('Upper element value limit (<',Lmax,') = ');
 Readln(L2);
 Assign(f,'XXX.txt');
 Rewrite(f);
 Randomize;
 For i:=1 to M do
  begin
   For j:=1 to N do
    begin
     A[i,j]:=L1+Random(L2-L1);
     Write(f,A[i,j]:8);
    end;
   Writeln(f);
  end;
 Writeln(f);
 Writeln(f,'Primes:');
 Npr:=0;
 For i:=1 to M do
  For j:=1 to N do
   If Prime(A[i,j]) then
    begin
     Inc(Npr);
     Write(f,A[i,j]:8);
     If (Npr mod N)=0 then Writeln(f);
    end;
 If Npr=0 then Writeln(f, 'No!');
 Close(f);
End.
Разрешите быть свободным, сэр?
Vladimir_S вне форума   Ответить с цитированием
Старый 20.05.2012, 12:38   #3 (permalink)
Daniellos
Хозяин Медной Горы
 
Аватар для Daniellos
 
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
По умолчанию

Владимир, а у меня тоже вопрос, а нельзя ли было использовать одну постоянную Mmax, и в массиве Nmax обозначить как Mmax-1 ?
Daniellos вне форума   Ответить с цитированием
Старый 20.05.2012, 13:02   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Daniellos Посмотреть сообщение
Владимир, а у меня тоже вопрос, а нельзя ли было использовать одну постоянную Mmax, и в массиве Nmax обозначить как Mmax-1 ?
А зачем жестко связывать максимально допустимое число строк и столбцов друг с другом? Это независимые параметры и определяются они отдельными независимыми константами. Кстати, у меня они выбраны такими исходя из того, чтобы матрица влезла в экран в DOS VGA моде, а другие пользователи могут и существенно расширить диапазон, причем независимо для строк и столбцов. Например, задать 40 строк и 28 столбцов. Если экран позволяет.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.05.2012, 18:01   #5 (permalink)
Christian
Member
 
Регистрация: 20.05.2012
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

хорошая работа mr. Vladimir_S ) очень помогли!
если будет время то посмотрите пожалуйста еще эту задачу:
Целое натуральное, рекурсия, Паскаль
Christian вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 07:31.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.