![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
KriN |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
program lab9;
type mat=array[1..10000,1..10000] of real;
var
i,j,n:integer;
k:real;
km:mat;
procedure changediag( x:mat;
var i,j,n:integer;
var k:real);
begin
For i := 1 To n do
For j := 1 To n do
k := 0;
For i := 1 To n - 1 do
For j := 1 To n - 1 do
k := x[i, i + 1] ;
x[i, i + 1] := x[j + 1, j] ;
x[j + 1, j] := k ;
end;
begin
For i := 1 To n do
For j := 1 To n do
write('n=');
readln(n);
writeln('x[',i,j:2,']=');
For i := 1 To n do
For j := 1 To n do
changediag(km,n,k,i,j);
writeln(' x',km[i,j]:2 :1);
end.
Пишет:"тип фактического параметра-переменной real отличается от типа формального параметра integer" Сообщение отредактировано: volvo - 4.03.2009 9:28 |
Unconnected |
![]()
Сообщение
#2
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
У меня на TP7 вообще ругается на тип, говорит Structure too large. Слишком большой диапазон как я понял. Какой компилятор используешь?
Плюс Invalid For control variable.. Сообщение отредактировано: Unconnected - 3.03.2009 21:54 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата Слишком большой диапазон как я понял Матрица очень большая... Под TP ни одна структура данных не может быть больше 64Кб. А тут - полгигабайта...ДАльше... Паскаль всегда требовал и будет требовать, чтобы в качестве переменной цикла использовалась ЛОКАЛЬНАЯ переменная, а не переданная в качестве Var-параметра. Ну, и третье: KriN, исправь первый пост... Теги добавь, чтобы программа была читаемой. |
Unconnected |
![]()
Сообщение
#4
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Только вот интересно, как он получил ошибку несовпадения типов, если дальше второй строки не компилируется)
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Любой 32-битный компилятор выдает тебе ВСЕ ошибки, а не по одной, как Турбо-Паскаль. И ограничения в 64К у этих компиляторов нет.
|
KriN |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
Unconnected |
![]()
Сообщение
#7
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
А ошибку только одну выдаёт или ещё которые volvo назвал?
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
maksimla |
![]()
Сообщение
#8
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
посмотрел и вот исправил эти ошибки если можно сказать так вот что получилось
program lab9;
type mat=array[1..100,1..100] of real;
var
i,j,n:integer;
k:real;
km:mat;
procedure changediag( x:mat;
var i,j,n:integer;
var k:real); {у тебя в процедуре тип real стоит 5 а как задаешь то он стоит 3 из за этого ошибка}
begin
{For i := 1 To n do
For j := 1 To n do} {зачем это тебе это ненужно и так k = 0 будет это ведь не массив}
k := 0;
For i := 1 To n - 1 do
For j := 1 To n - 1 do
k := x[i, i + 1] ;
x[i, i + 1] := x[j + 1, j] ;
x[j + 1, j] := k ;
end;
begin
{For i := 1 To n do
For j := 1 To n do } {зачем тебе это если всеравно невыполняется это только потом задаешь n}
write('n=');
readln(n);
writeln('x[',i,j:2,']=');
For i := 1 To n do
For j := 1 To n do
changediag(km,n,{k}i,j,k);{вот поставил его последним и ошибки нету}
writeln(' x',km[i,j]
{1});{некак непойму зачем тебе цыфра тут или ее совсем ненадо или поставь перед ней запятую или двоеточие}
end.
вот сейчас у меня запускается вводим число и потом ошибка выбивает в процедере на k := 0; когда несколько раз проходит Сообщение отредактировано: maksimla - 4.03.2009 10:11 -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
maksimla, это не будет компилироваться. Почему - я уже написал выше, читай внимательнее...
|
maksimla |
![]()
Сообщение
#10
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
maksimla, это не будет компилироваться. Почему - я уже написал выше, читай внимательнее... ну я вот поспешил немножко сейчас исправил и у меня программа запускается и работает пару строчек ![]() а как не знаем самого задания так я дальше не полезу только исправлю что найду тут . Добавлено через 7 мин. я даже не знаю что о такой программе и сказать внимательнее посмотрел ужас просто -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
ЭТО у тебя запускается?
Цитата procedure changediag( x:mat;
var i,j,n:integer;
var k:real); {у тебя в процедуре тип real стоит 5 а как задаешь то он стоит 3 из за этого ошибка}
begin
{For i := 1 To n do
For j := 1 To n do} {зачем это тебе это ненужно и так k = 0 будет это ведь не массив}
k := 0;
For i := 1 To n - 1 do
For j := 1 To n - 1 do
k := x[i, i + 1] ;
x[i, i + 1] := x[j + 1, j] ;
x[j + 1, j] := k ;
end;
|
maksimla |
![]()
Сообщение
#12
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
это так у меня компилируется и я выполняю тут пошаговые действия смотрю постоянно
в процедуре доходит до k := x[i, i + 1] ;
пишет ошибка и все вот как думал я так сейчас ему написал только незнаю что процедура должна делать и там все когда считается выдает ошибку вот
program lab9;
type mat=array[1..100,1..100] of real;
var
i,j,n:integer;
k:real;
km:mat;
procedure changediag( x:mat;
var i,j,n:integer;
var k:real);
begin
k := 0;
{я тут вот застрял незнаю что ты тут хочешь делать }
For i := 1 To n - 1 do
For j := 1 To n - 1 do
k := x[i, i + 1] ;
x[i, i + 1] := x[j + 1, j] ;
x[j + 1, j] := k ;
end;
begin
write('n=');
readln(n);
{мне кажется что ты тут хотел в массив числа ввести и посмотреть на числа }
For i := 1 To n do
For j := 1 To n do
readln(km[i,j]);
For i := 1 To n do
For j := 1 To n do
writeln('x[',i,j:2,']=',km[i,j]);
{если будишь по шаговую операцию выполнять то увидишь все числа }
For i := 1 To n do
For j := 1 To n do
changediag(km,i,j,n,k); {так более правильно будет наверное если все буквы по порядку стоят задаются }
{тут забыл ты поставить циклы чтобы потом все значения увидить}
For i := 1 To n do
For j := 1 To n do
writeln(' x',km[i,j]);
readln;
end.
подскажите что процедура должна делать? то я чего то не разобрался а так у меня запускается программа -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
maksimla |
![]()
Сообщение
#13
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
запустил на fpc 2.2.2 выдало ошибку error: Illegal parameter: -Opentium3
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
KriN |
![]()
Сообщение
#14
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Программа должна переставлять местами строчки,прилегающие к главной диагонали в кв.матрице
|
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 10:58 |