2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Задачи на паскале
Сообщение28.10.2008, 20:24 
Заслуженный участник


25/02/08
2961
Я изучаю паскаль.Нашёл такие задачи:
1)Проверить,является ли матрица магическим квадратом(т.е.одинаковы ли суммы в диагоналях и строках).
2)Написать программу,которая при вводе слова не более 14 букв выводит количество всевозможных перестановок букв(анаграмм)
3)Последовательность цифр длинною не менее 3 преобразуется таким способом:
для каждой цифры,начиная с 3ей вычисляется сумма двух предыдущих цифр.Если последняя цифра суммы больше этой цифры,то она заменяет собой в последовательности эту цифру.
Подскажите С ЧЕГО НАЧАТЬ решение задач.
P.S.Входные данные везде INPUT.TXT выходные OUTPUT.TXT

 Профиль  
                  
 
 
Сообщение29.10.2008, 11:45 


27/11/05
183
Северодонецк
Если есть трудности с паскалем, попробуйте для начала выписать решение задач на своем родном русском языке: распишите все действия до мелочей, как если бы у вас не было никакого компьютера и вам необходимо объяснить решение задачи кому-либо при помощи карандаша и бумаги. А потом попробуйте сами выполнить свои же инструкции - сразу увидите свои недочеты в реализации алгоритма. Без каких-либо усилий с вашей стороны просьба о помощи останется без отклика...

 Профиль  
                  
 
 
Сообщение29.10.2008, 14:19 
Заслуженный участник


25/02/08
2961
Да я уже кое-что написал.
1)Является магическим квадратом,если детерминант равен нулю.Прогу для вычисления определителя нашёл,добавить строку,чтобы она говорила при D=0 тоже не проблема.Лишь один вопрос-как заставить работать её через файлы INPUT.TXT и OUTPUT.TXT
3)Понятно что нужно вычислить кол во букв,и потом взять факториал,но если у нас например слово состоящее из одних и тех же букв,решение будет неверным.Как учесть?

 Профиль  
                  
 
 
Сообщение29.10.2008, 14:57 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Напишите волшебное слово assign, rewrite или reset, зайдите в хелп по нему, там где-то будет (раньше был :? ) пример работы с файлами.

 Профиль  
                  
 
 
Сообщение29.10.2008, 17:27 
Заслуженный участник


25/02/08
2961
Ок разобрался.А вот задача 3(про ряд чисел)- у кого нибудь есть идеи?

 Профиль  
                  
 
 
Сообщение30.10.2008, 15:45 


29/10/08
39
Казахстан, Тараз
Это например если цифры 9924
то сумма 18 последняя цифра 8 то получается 9984
да? так

 Профиль  
                  
 
 
Сообщение31.10.2008, 13:54 
Заслуженный участник


25/02/08
2961
да так

 Профиль  
                  
 
 
Сообщение31.10.2008, 15:56 


29/10/08
39
Казахстан, Тараз
Попробуй сделать это строчным способом

Попробуй этот алгоритм:
-------------------------------------------------------------
uses CRT;

var
I,K,M,M1,X,P: Integer;
S,C,C1,L,L1: String;
D: String; { 32768 }
begin
ClrScr;
ReadLn(S);
For I:= 1 to Length(S)-2 do
begin
C:= S[I]; C1:= S[I+1];
val(C,M,K); val(C1,M1,K);
X:= M + M1; val(S[I+2],P,K);
Str(X,L);
L1:= copy(L,Length(L),1);
val(L1,X,K);
If X > P then
begin
Str(X,D);
L1:= copy(S,I+3,Length(S));
Delete(S,I+2,Length(S));
val(D,X,K);
S:= S+ D+L1;
end;
end;
WriteLn(S);
ReadLn;
end.
-------------------------------------------------------------

 Профиль  
                  
 
 
Сообщение03.11.2008, 00:05 
Заслуженный участник


25/02/08
2961
спс

 Профиль  
                  
 
 
Сообщение16.12.2008, 13:17 


16/12/08
1
Помогите разобраться. Как составить "правило" в простенькой задачке.
Даны матрицы U (mxn), V(mxn). Построить матрицу Z(2mxn) по правилу:
z1j= u1j
z2j= v1j
z3j= u2j
z4j= v2j
z5j= u3j
z6j= v3j

Исходные данные записать в файл. Результаты вывести в новый файл.
Построение матрицы Z оформить как процедуру.

Добавлено спустя 4 минуты 17 секунд:

Я начал так :

type matr-array [1..20,1..30] of real;
var
z:array [1..40,1..30] of real;
u,v: matr;
i,j,m,n : integer;
fd,fr : text;
begin
assign (fd, '1.dat');
assign (fr, '1.res');
reset (fd);
rewrite (fr);
read (fd, m,n);
for i:=1 to m do
for j:=1 to n do read (fd,u[i,j]);
for i:=1 to m do
for j:=1 to n do read (fd, v[i,j]);



а вот как это правило записать не понимаю... :(

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group