IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Таблица Пифагора, Нужна помощь в корректировке проги
SkyRideR
сообщение 12.12.2007 22:07
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Задача состоит в том, чтобы создать прогу которая выводит на экран квадрат Пифагора - таблицу
умножения для 14 с\с. Я тут написал что мог, но у меня не соответсвие типов идёт. Если не трудно прошу помочь




var
ckl, ckl2 :integer;
z:array[1..10,1..10] of integer;
function FromDec(n, radix:longint):string;
var
s: String;
const
digit: string[16]='0123456789ABCDEF';
begin
s:='';
repeat
s:=digit[(n mod radix)+1]+s;
n:=n div radix;
until n=0;
FromDec:=s;
end;
function ToDec(n:string; radix:longint):longint;
var
m, i: longint;
const
digit: string[16]='0123456789ABCDEF';
begin
m:=0;
while (n[1]='0') and (length(n) > 1) do delete(n,1,1);
for i:=1 to length(n) do m:=m*radix+pos(n[i],digit)-1;
ToDec:=m;
end;
begin
for ckl:=1 to 10 do begin
for ckl2:=1 to 10 do begin
z[ckl,ckl2]:= FromDec((todec(ckl,ckl2, 14), 14);
end;
end;
for ckl:=1 to 10 do begin
for ckl2:=1 to 10 do begin
write(z[ckl,ckl2], ‘ ‘);
end;
writeln;
end;
writeln(FromDec(ToDec(5,5));
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.12.2007 23:26
Сообщение #2


Гость






В основной программе достаточно написать:
begin
for ckl:=1 to todec('10', 14) do begin
for ckl2:=1 to todec('10', 14) do
write(FromDec(ckl*ckl2, 14):4);
writeln;
end;
end.
(описание массива Z тоже не нужно) - и получишь таблицу умножения...
 К началу страницы 
+ Ответить 
HTML
сообщение 14.12.2007 14:46
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Pascal указывает на write(FromDec(ckl*ckl2, 14):4); в основной программе и пишет ошибку 89: ")" expected.
Что ему не нравится?

Сообщение отредактировано: HTML - 14.12.2007 14:47
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.12.2007 14:57
Сообщение #4


Гость






Цитата
Что ему не нравится?
Не знаю... У меня все нормально компилируется. Какая версия Паскаля?
 К началу страницы 
+ Ответить 
HTML
сообщение 14.12.2007 16:19
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Цитата
Какая версия Паскаля?

7.0

На всякий случай выложу полную версию того, что получилось:

Program Pifagor;
Var
ckl , ckl2 : Integer;
z : array[1..12,1..12] of Integer;

Function FromDec (n , radix : Longint) : String;
Var
s : String;
Const
digit : string[12]='0123456789ABC';
Begin
s:='';
repeat
s:=digit[(n mod radix)+1]+s;
n:=n div radix;
until n=0;
FromDec:=s;
End;

Function ToDec (n : String; radix : Longint) : Longint;
Var
m , i : Longint;
Const
digit : string[12]='0123456789ABC';
Begin
m:=0;
while (n[1]='0') and (length (n) > 1) do delete (n,1,1);
for i:=1 to length(n) do m:=m*radix+pos(n[i], digit)-1;
ToDec:=m;
End;

Begin
For ckl:=1 to ToDec('12', 12) do begin
for ckl2:=1 to ToDec('12', 12) do
while (FromDec(ckl*ckl2,12):4);
writeln;
end;

readln;
End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.12.2007 17:04
Сообщение #6


Гость






Там вообще-то не while, а write blink.gif
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.06.2025 2:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"