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
13437
с Территории
Напишите волшебное слово 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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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