Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите пожалуйсто
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Boom-Box
Помогите пожалуйсто очень надо(завтро зачет)
program jjj;
var i,j,k,n,m: word;
A: array [1..n,1..m] of real;
L:array[1..m]of word;
begin
read(n,m) ;
for k:=1 to m do
begin
i:=1;
j:=1;
while i<=n and j<=L[k] do
begin
if A[k,i]<>0 then
begin
T[k,j]:=A[k,i];
j:=j+1;
i:=i+1;
end;
else
i:=i+1;
end;
end;
writeln(T);
Writeln(A);
End.
Ozzя
Какие ошибки-то?
Синтаксические компилятор проверит.
А семантические...
Текст задания где?
Артемий
n должна быть константой
const n=6

переменные нельзя использовать при назначении размера массива
(и m также..)
Цитата
Синтаксические компилятор проверит.

ну да...
Boom-Box
Цитата(Ozzя @ 1.06.2007 16:15) *

Какие ошибки-то?
Синтаксические компилятор проверит.
А семантические...
Текст задания где?


ЗАДАНИЕ
Строки матрици A(m,n) заполнены не полностью: в массиве L(m) указано количество элементов в каждой строке. Переслать элементы матрицы построчно в начало одномерного массива T(m*n) подсчитать их количество.

Че за Ошибка Error 50: do expected.
volvo
Цитата
n должна быть константой
Не только n... m тоже...

Да и массив распечатать одним оператором WriteLn(T) тебе вряд ли удастся - надо это делать поэлементно (причем заметь, T вообще не описано, а используется)...
Boom-Box
program jjj;
uses crt;
const n=10;m=10;
var i,j,k: word;
A: array [1..n, 1..m] of word;
L:array[1..m]of word;
begin
clrscr;
randomize;
for k:=1 to 10 do
begin
i:=1;
j:=1;
while i<=10 and j<=L[k] do {‘Сдесь ошибку выдает Error 50: Do expected’}
begin
if A[k,i]<>0 then
begin
T[k,j]:=A[k,i];
j:=j+1;
i:=i+1;
end;
else
i:=i+1;
end;
end;
writeln(T); {А КАК ЭТО ВЫВЕСТИ}
writeln(l);
Writeln(A);

End.
Артемий
Цитата
while i<=10 and j<=L[k] do {‘Сдесь ошибку выдает Error 50: Do expected’}

А ты в скобки возьми между and..

Добавлено через 1 мин.
Цитата
writeln(T); {А КАК ЭТО ВЫВЕСТИ}

А может ты опишешь,что озночает T? Или компилятор уже мысли читает? smile.gif
Boom-Box
Люди кто нибуть может помочь (сделать чтобы эта программы работала) Пожалуйсто
ЧТОБЫ ОНА НЕ ВЫВОДИЛА НУЛИ

program jjj;
uses crt;
const n=10;m=10;
var i,j,k: word;
A: array [1..n, 1..m] of word;
L:array[1..m]of word;
T: array [1..n, 1..m] of word;
begin
clrscr;
randomize;
for k:=1 to 10 do
begin
i:=1;
j:=1;
while (i<=10) and (j<=L[k]) do
begin
writeln(a[k,i]);
if A[k,i]<>0 then
begin
T[k,j]:=A[k,i];
j:=j+1;
i:=i+1;
end;

end;
end;
End.
compiler
Цитата(Boom-Box @ 1.06.2007 16:10) *

Люди кто нибуть может помочь (сделать чтобы эта программы работала) Пожалуйсто
ЧТОБЫ ОНА НЕ ВЫВОДИЛА НУЛИ

работает и не выводит нули
program jjj;
uses crt;
const
	n=10;
	m=10;
var
	i,k: word;
	A: array [1..n, 1..m] of word;
	L:array[1..m]of word;
	T: array [1..n, 1..m] of word;
begin
	clrscr;
	randomize; //так массив случайных чисел ты не создашь 
, надо циклами...
	for i:=1 to n do
		for k:=1 to m do
			t[i,k]:=random(10);
	for i:=1 to n do
		for k:=1 to m do
			a[i,k]:=random(10);
	for i:=1 to n do
		l[i]:=random(10);

	i:=1;//инициалицируем ДО цикла
	for k:=1 to n do begin
		while  (i<=L[k]) do begin
			writeln(a[k,i]);
			(*if A[k,i]<>0 then begin*) //Ты уверен что тебя нужно это условие?
				T[k,i]:=A[k,i]; //зачем нам j ? 
				inc(i);
			(*end;*)
		end;
	end;
	readln;
	read;
End.


такая подходит? smile.gif
мисс_граффити
А ПРАВИЛА прочитать - не судьба???
Просить о помощи и проявлять такое вопиющее неуважение к отвечающим....
 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [cоde=pas] ... [/cоde].



Тема закрыта.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.