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

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

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

> запись и чтение фаила + матрица
JoB
сообщение 18.12.2005 15:31
Сообщение #1


Новичок
*

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

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


Необходимо написать две проги:
1. записывает фаил
2.читает фаил.
Ввести матрицу (4 строки 6 столбцов) Обнулить каждый эллимент не четных столбцов матрици.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 10)
APAL
сообщение 18.12.2005 15:50
Сообщение #2


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Может все таки не "проги", а процедуры?

И как с этим должна быть связана матрица???



В правильном вопросе скрыта большая часть ответа!


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
JoB
сообщение 18.12.2005 16:00
Сообщение #3


Новичок
*

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

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


можно конечно и процедурами...
Просто нужно записать получившуюся матрицу в фаил, а за тем этот фаил прочитать...

Сообщение отредактировано: JoB - 18.12.2005 17:17
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
JoB
сообщение 19.12.2005 0:25
Сообщение #4


Новичок
*

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

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


Я тут немного набросал, правдо есть ошибки и основная задача не выполнена...
 const n=4; m=6;
type
vector = array[1..n] of byte;
matrix = array[1..m] of vector;
var i,j:integer;
d: matrix;
begin
for i:=1 to n do
write;
for j:=1 to m do
write (D[i,j]);
writeln;
for i:=1 to n do
begin
if i mod 2
else i:=0;
write
end;
for j:=1 to m do
begin
if j mod 2
else
j:=0;
writeln (d[i,j])
end.
.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 19.12.2005 0:53
Сообщение #5


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Что мешает описанию: matrix = array[1..n,1..m] of byte; ???
Я не понял дальше с циклами... Первый - вообще без смысловой нагрузки, а второй по идее должен быть внутри первого. Рекомендую разобраться с BEGIN - END в нужных местах.

И не вижу никакой основной идеи решения! Такое ощущение, что просто откуда-то нарезаны куски кода и всунуты как попало...



P.S.: А ты вообще компилировать пробовал данный текст?


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
JoB
сообщение 19.12.2005 1:15
Сообщение #6


Новичок
*

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

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


пробовал... =)
вот еще немного пописал, пока на заменении нечетных редов забил...
Вот первая програмка - работает отлично.
uses crt;
const n=4; m=6;
type
vector = array[1..n] of byte;
matrix = array[1..m] of vector;
var i,j:byte;
d: matrix;
t:text;
begin
clrscr;
randomize;
for i:=1 to n do
for j:=1 to m do
for i:=1 to n do
d[i,j]:=random(100);
assign(t,'99.txt');
rewrite(t);
for i:=1 to n do
begin
for j:=1 to m do
write (t, d[i,j]:5);
writeln (t);
end;
close(t);
end.
.


А вот вторая

uses crt;
const n=4; m=6;
type
vector = array[1..n] of byte;
matrix = array[1..m] of vector;
var i,j:byte;
d: matrix;
t:text;
begin
clrscr;
assign (t,'99.txt');
reset (t);
for i:=1 to n do
begin
for j:=1 to m do
read(t,d[i,j]);
readln(t);
end;
close (t);
for i:=1 to n do
begin
for j:=1 to m do
write (d[i,j]:5);
writeln;
end;
writeln;
readln;
end.



Сообщение отредактировано: JoB - 19.12.2005 23:11
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.12.2005 1:45
Сообщение #7


Гость






Потому, что неправильно читаешь матрицу из файла... Вот так матрица читается и распечатывается, как положено:
uses crt;
const
n = 4; m = 6;

type
vector = array[1..n] of byte;
matrix = array[1..m] of vector;

var
i, j: byte;
d: matrix;
t: text;

begin
clrscr;
assign (t,'99.txt'); reset (t);

i := 1;
while not seekeof(t) do begin
j := 1;
while not seekeoln(t) do begin
read(t, d[i, j]); inc(j);
end;
readln(t);
inc(i);
end;

close (t);
for i:=1 to n do begin

for j := 1 to m do
write(d[i,j]:5);
writeln()

end;
writeln;
readln;
end.
 К началу страницы 
+ Ответить 
JoB
сообщение 19.12.2005 23:14
Сообщение #8


Новичок
*

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

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


Спасибо, все отлично пашет, правдо я, все же сделал вторую прогу по своему, но это не важно, а важно то, что первая, до сих пор у меня не хочет занулять каждый эллимент нечетных столбцов матрици... Помогите пожалуйста.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
JoB
сообщение 20.12.2005 0:02
Сообщение #9


Новичок
*

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

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


Что то ничего не получается вот:
uses crt;
const n=4; m=6;
type
vector = array[1..n] of byte;
matrix = array[1..m] of vector;
var i,j:byte;
k:byte;
d: matrix;
t:text;
begin
clrscr;
randomize;
for i:=1 to n do
for j:=1 to m do
d[i,j]:=random(100);
for j:=1 to n do
begin
if j mod 2 then
j[k]:=0;
end;
assign(t,'99.txt');
rewrite(t);
for i:=1 to n do
begin
for j:=1 to m do
write (t, d[i,j]:5);
writeln (t);
end;
close(t);
end.


но я думаю, что лучшеб через inc И odd(i)(возвращает true если i не четная.) - но к сожалению я забыл как они правельно пишутся...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 20.12.2005 0:10
Сообщение #10


Гость






Ну, задай матрицу вот так, и сразу запиши ее в файл:
  randomize;
for i:=1 to n do
for j:=1 to m do
if odd(j) then d[i,j]:=0
else a[i, j] := random(100);
{ и сразу запись в файл... }
Больше ничего делать не надо...
 К началу страницы 
+ Ответить 
JoB
сообщение 20.12.2005 0:27
Сообщение #11


Новичок
*

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

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


все. Разобрался. Спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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