Четверг, 17.10.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Гостевая книга [ Добавить запись ]

Страницы: « 1 2 ... 31 32 33 34 35 ... 123 124 »
Показано 481-495 из 1848 сообщений
1368. Коля   (21.05.2007 17:50)
0  
В этой задаче сумма цифр числа n. А n-значных вводятся через цикл типа там от 1 до n и выбирается то число сумма которых равна введенному числу k.
Ответ: Достаточно было и одного раза. Просто в гостевой несколько идиотов пытаются разместить всякую рекламную дрянь, в том числе, ловушки для дураков в виде ссылок. И очень много. По этой причине пришлось ввести премодерацию: сообщения появляются только после того, как я и просмотрю

1367. Коля   (21.05.2007 17:20)
0  
Тут сумма цифр состовляющих число N. А n наверно задается через цикл, типа меняется от 1 до n, и ищется та цифра у которой сумма цифр равна числу K
Ответ: Вот посмотри (только учти, что здесь одиночные апострофы (начало и конец строки) заменяются двойными)
--
var
N, K, i: word;
Naideno: Boolean;
function Summa(Chislo: Word): Word;
var sum: Word;
begin
sum:=0;
repeat
sum := sum + (Chislo mod 10);
Chislo := Chislo div 10;
until Chislo = 0;
Summa := sum;
end;

BEGIN
Write(''Введите положительное число K от 0 до 65535: '');
ReadLn(K);
Write(''Введите диапазон поиска чисел, сумма цифр которых равна '',K,'' : '');
ReadLn(N);
Naideno:=False;
for i:=0 to N do
if Summa(i) = K then begin Write(i:8); Naideno:=True end;
if NOT Naideno then WriteLn(''Таких чисел нет'');
END.

1366. коля   (21.05.2007 17:08)
0  
Я подумал и вот - сумма цифр состовляющих число N. А n наверно задается через цикл, типа меняется от 1 до n, и ищется та цифра у которой сумма цифр равна числу K

1365. Коля   (21.05.2007 16:11)
0  
Здравствуйте ! Случайно нашел ваш сайт и наверно обрел надежду на счёт Паскаля , можете помочь с этой задачей Среди всех n-значных чисел указать те, сумма которых равна данному числу k.
Ответ: Немного не понял. Как задаются эти n-значные числа. И что это значит "n-значные" в этой задаче. То есть, как вводятся числа.
Сумма чего равна k? Сумма цифр, составляющих число n? Или из нескольких заданных чисел составить сумму, равную k?

1364. Рустам   (21.05.2007 16:06)
0  
Опять я . про адрес майл с бк на автомате спутал . А задача нужна без массива плз ! Заранее СПАСИБО
Ответ: Вот без массива (будет проблемы пришлю на новый адрес):
---
var
n, n_copy: Word;
i, count: Integer;
Povtor: Boolean;
BEGIN
Write(''''введите целое число без знака от 0 до 65535: ''''); ReadLn(N);
Povtor:= False;
for i:=0 to 9 do begin
n_copy:=N;
count := 0;
repeat
if n_copy mod 10 = i then count:=count+1;
n_copy := n_copy div 10;
until n_copy = 0;
if count > 1 then begin Povtor:=True; break; end;
end;
if Povtor then writeLn(''''Имеются повторения'''') else
WriteLn(''''повторяющихся цифр нет'''');
END.

1363. Рустам   (21.05.2007 15:45)
0  
Спасибо за прогу !!! НО можно как нибудь без nums а то такого еще не проходили ?
Ответ: Без массива будет сложнее. nums - это массив с индексами от 0 до 9, если встречается цифра, то в ячейку массива с индексом, равным цифре, добавляем единичку.
Обойтись, конечно, можно. Но тогда заданное число нужно прогонять 10 раз: один раз учитываем только остатки от деления на 10, равные 0; потом - равные 1, ....
Этот способ проще, но если надо, то ...
ЗЫ: посылал письмо с программой по твоему адресу - вернулось

1362. Рустам   (21.05.2007 14:21)
0  
Здравствуйте ! Помогите решить задачу на Паскале по целочисленной арифметике : 6. Дано натуральное число n. Проверить, будут ли все цифры числа различными.
Ответ: На самом деле решение очень простое: я нахожу остатки от деления на 10 и увеличиваю содержимое массива с этим индексом. А потом остается только посмотреть, какие числа встретились более 1 раза. Если хотя бы для одного 2 и более, то НЕ ВСЕ РАЗЛИЧНЫ. Ниже программа, которая выводит полную информацию. Остальное - просто
-
ЗЫ: ОБРАТИТЕ ВНИМАНИЕ, ЧТО ЗДЕСЬ ОДИНОЧНЫЕ КАВЫЧКИ ЗАМЕНЯЮТСЯ ДВОЙНЫМИ
--
var
n: Word;
nums: array[0..9] of Integer;
i: Integer;
BEGIN
for i:=0 to 9 do nums[i]:=0;
Write(''введите целое число без знака от 0 до 65535: ''); ReadLn(N);
repeat
i := N mod 10;
writeLn(i);
nums[i] := nums[i] +1;
N := N div 10;
until N = 0;
for i:=0 to 9 do
writeLn(i,'' встречается '',nums[i],'' раз'');
END.

1361. Антон   (17.05.2007 22:49)
0  
Привет.Большое спасибо за решение предыдущей проги.Большая просьба помочь снова.Дана целочисленная квадратная матрица порядка n.Найти номера строк,элементы каждой из которых образуют монотонную последовательность(монотонно убывающую или монотонно возрастающую).Пожалуйста, пришлите наиболее простой вариант решения этой проги без процедур или функций
Ответ: Хорошо. То есть ВСЕ элементы ряда образуют монотонную последовательность? Ни один не отклоняется?
Проверяю монотонность по знаку произведения разностей с соседними, и только если еще монотонная.
*** Послал по этому новому адресу
--
const N = 20;
var matr: Array[1..N, 1..N] of Integer;
IsMono: Boolean;
i, j: Integer;
BEGIN
for i:=1 to N do for j:=1 to N do matr[i,j]:= random(10);
{Одну строку сделаю искусственно монотонной}
for j:=1 to N do matr[2,j]:=j;
for i:=1 to N do begin
for j:=1 to N do Write(matr[i,j]:3); WriteLn end;

for i:=1 to N do begin
IsMono:=True;
for j:=2 to N-1 do
if IsMono then IsMono := (
(matr[i,j] -matr[i,j-1])*(matr[i,j+1]-matr[i,j]) > 0);
if IsMono then WriteLn(''''Строка '''',i,'''' монотонная'''');
end;
END.

1360. Kirill   (17.05.2007 15:36)
0  
hi-hi
Помогите с рефератом :) Алгоритмы. Целочисленой арифметики: Целый тип данных, машинное представление целых типов, алгоритмы целочисленой арифметики...можно с практическими заданиями...
мб у вас на сайте тут есть чтото подобное...укажите ссылочку... заранее спасибо.
Ответ: Да нет, рефераты мы не собираем. Есть глава в описании о машинном представлении чисел. Щас пришлю. Мало будет - еще чего найдем :))
-- А вот программа, в которой реализовать алгоритм нахождения НОД - алгоритм Эвклида. А найдя НОД - легко высчитывается НОК:
{ Нахождение наибольшего общего делителя }

function Evklid(a, b: Word): Longint;
{ Реализация алгоритма Эвклида }
var r: Longint;
begin
if a < b then begin a:= b xor a; b:= a xor b; a:= b xor a end;
repeat
r:= a mod b;
a:=b; b:=r
until r = 0;
Evklid:= a;
end;

VAR
n1, n2, nod: longint;

BEGIN
{n1:=822; n2:=436;}
n1:=196418; n2:=317811;
{ - числа Фибоначчи 27 и 28 -е, тест для больших чисел}
{ЧИСЛА должны быть положительными. Это следует учесть, если вводить
их с клавиатуры}
nod := Evklid(n1, n2);
WriteLn(''НОД( '',n1,'', '',n2,'') = '', nod);
{для нахождения НОК используем НОД(a,b)*НОК(a,b) = a*b,
если a и b - положительные}
WriteLn(''НОК( '',n1,'', '',n2,'') = '', n1 / nod * n2:13:0);
END.

1359. Sai-Fo-Dimos(Дмитрий)   (16.05.2007 12:34)
0  
Классный сайт! Когда допишу свой морской бой, отправлю его сюда, если получится, т.к. в интернете я понимаю довольно плохо...
Ответ: Конечно разместим в программах :))
Будут проблемы - пишите

1358. GS   (16.05.2007 12:23)
0  
Помогите пожалуйста решить задачу на pascal

Дана целочисленная прямоугольная матрица
Определить номер строки в которой находится самая длинная серия одинаковых элементов
(оформить в виде функции)
Ответ: Вот вариант. Посмотри. Выдает первую из самых длинных:
----
CONST N = 10;
TYPE TMatr = array[1..N, 1..N] of Integer;

procedure FillMatrix(var m: TMatr);
var i, j: Integer;
const max = 3;
begin
for i:=1 to N do for j:=1 to N do m[i,j]:=Random(max);
end;

procedure ShowMatrix(m: TMatr);
var i, j : Integer;
begin
for i:=1 to N do begin
for j:=1 to N do Write(m[i, j]:6); WriteLn;
end end;

function LongerRow(m: TMatr): Integer;
var
i, j, l, lon, Longest, row: Integer;
begin
Longest:=0; row:=1;
for i:=1 to N do
begin
lon:=0; l:=0; j:=1;
while j < N do begin
inc(j);
if m[i,j-1] = m[i,j] then inc(l)
else begin if l > lon then lon:=l; l:=0 end;
end;
if lon > longest then
begin longest:=lon; row:=i end;
end; LongerRow:=row end;

VAR
matr: TMatr;
BEGIN
FillMatrix(matr);
ShowMatrix(matr);
WriteLn(''Самая длинная последовательность одинаковых элементов в строке '',
LongerRow(matr));
END.

1357. Михаил   (16.05.2007 09:42)
0  
1. такое условие
2. из текстового файла
3. да; да
Ответ: По (1) - тогда будем считать, что Mk - это максимальный элемент в k-том столбце
---
Вот посмотри первую.
!!! ВТОРУЮ ПОМЕСТИЛ В ПЕРВОМ ВАШЕМ ВОПРОСЕ !!
Обрати внимание, что обычные одиночные апострофы здесь заменяются на две (начало и конец строк). ЗЫ: результат не проверял
----------
const
n = 4; m = 5;
type
TMatrix = array[1..n, 1..m] of real;

function FindMaxElement(matr: TMatrix; col: Integer): Real;
var k: Integer; r: Real;
begin
{Невероятно, но проверим}
if (col < 1) or (col > m) then begin FindMaxElement:=0; Exit end;
r:=matr[1, col];
for k:=2 to n do
if matr[k, col] > r then r:=matr[k, col];
{Иногда преподаватели любят, если не число запоминается, а его индекс
Будут возражения - напиши - переделать легко}
FindMaxElement:=r end;

function ReadData(FileName: String; var matr: TMatrix): Integer;
{0 - хорошо, не 0 - не удалось прочитать}
var f: Text; i, j, code: Integer;
begin
Assign(f, FileName); {$I-} Reset(f); {$I+}
code:= IOResult; ReadData:=code;
if code <> 0 then
begin WriteLn(''''Не могу открыть файл '''',FileName); Exit end;
for i:=1 to n do
for j:=1 to m do begin
if EOF(f) then Code := -2022
else begin {$I-} Read(f, matr[i, j]); {$I+} Code:=IOResult end;
ReadData:=Code;
if Code <> 0 then begin
WriteLn(''''Ошибка чтения данных из файла в ряду '''',i:3, '''', колонке '''',j:3);
if code = -2022 then WriteLn(''''Неожиданный конец файла '''',FileName);
Exit {немедленный выход из подпрограммы}
end end;
Close(f); end;

var
matrix: TMatrix;
max_elem: array[1..m] of real;
i: Integer;
sum: Real;
BEGIN
if ReadData(''''input.dat'''', matrix) <> 0 then Halt(1)
else WriteLn(''''Данные считаны'''');
for i:=1 to m do max_elem[i]:=FindMaxElement(matrix, i);
for i:=1 to m do WriteLn(max_elem[i]:10:2);
sum:=0;
for i:=1 to m do
sum:= sum + max_elem[i]*max_elem[m-i+1];
WriteLn(sum:10:2)
END.
---
Файл исходных данных:
0.1 0.1 2.0 5.0 -2.0
-0.1 0.1 3.0 8.0 -10.0
1.0 1.0 2.0 2.0 -1.0
1.0 2.0 2.0 10.0 -3.0

1356. andrey 2 boriss   (16.05.2007 09:33)
0  
большое спасибо!
Ответ: Спасибо скажите, если все будет работать так, как Вам нужно :)) Но все равно приятно

1355. andrey   (15.05.2007 17:50)
0  
Boriss, адрес camokat@mail.ru
пожалуйста, укажите в теме письма "Паскаль", ибо распознаю всех незнакомцев как спамеров и удаляю в черный список

1354. Boriss для "andrey"   (15.05.2007 09:36)
0  
Напишите, почему именно не компилируется? Какие сообщения.
Одна из возможных причин в том, что здесь единичные апострофы (начало и конец строки) заменяются на двойные.
Сообщие адрес - пришлю PAS-файл.
Спамом не занимаюсь. Сам борюсь с гадами... Знали бы Вы как много всякой дряни здесь пытаются разместить - по этой причине пришлось ввести премодерацию


Имя *:
Email *:
WWW:
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2024
    Конструктор сайтов - uCoz