![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Sav93 |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Василий Репутация: ![]() ![]() ![]() |
Зравствуйте, помогите решить 2 задачи, на завтра задали 6ЛБ, а я никак не успеваю.
1.Дано текст, в котором содержится хоть одно двоеточие. Получить символы, размещенные между первым и вторым двоеточием (если второе двоеточие отсутствует - до конца текста) 2.Дана матрица A nxn. Получить матрицу B nxn, елементы которой вычисляются за формулой: b(ij)= знак системы a(ij), при j>=i, a(ij), при j<i. Для ввода и вывода элементов матриц составить процедуры, обеспечивающие ввод и вывод элементов в виде таблицы. Буду очень благодарен! Спасибо! |
Freedom |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: ![]() ![]() ![]() |
Зравствуйте, помогите решить 2 задачи, на завтра задали 6ЛБ, а я никак не успеваю. 1.Дано текст, в котором содержится хоть одно двоеточие. Получить символы, размещенные между первым и вторым двоеточием (если второе двоеточие отсутствует - до конца текста) 2.Дана матрица A nxn. Получить матрицу B nxn, елементы которой вычисляются за формулой: b(ij)= знак системы a(ij), при j>=i, a(ij), при j<i. Для ввода и вывода элементов матриц составить процедуры, обеспечивающие ввод и вывод элементов в виде таблицы. Буду очень благодарен! Спасибо! Показывайте свои наработки, говорите где не получается. За вас никто делать ничего не будет -------------------- From ZERO to HERO
|
Sav93 |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Василий Репутация: ![]() ![]() ![]() |
Я просто не знаю...Допустим задана матрица А
Program Massiv2;
Uses Crt;
Var a: array [1..50,1..50] of real;
i,j,n: byte;
BEGIN
clrscr;
write (' N='); readln (n);
writeln (' Enter the elements of massive A:');
for i:=1 to n do
for j:=1 to n do
begin
write (' A[',i,',',j,']='); readln (a[i,j])
end;
Как правельно теперь задать матрицу В за формулой? сама структура программы как должна выглядеть? Сообщение отредактировано: Sav93 - 22.12.2010 0:31 |
Sav93 |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Василий Репутация: ![]() ![]() ![]() |
uses crt;
var s:string;
t1,t2,i,j,k:byte;
begin
clrscr;
writeln('Введите текст: ');
readln(s);
i:=1;
k:=0;
t1:=0;
t2:=0;
while(i<=length(s))and(k<=2) do
begin
if s[i]=':'then
begin
k:=k+1;
if k=1 then t1:=i
else if k=2 then t2:=i;
end;
i:=i+1;
end;
begin
s:=copy(s,t1+1,t2-t1-1);
write(s);
end;
readKey;
end.
Текст1:текст2:текст3 выдает текст2, это правельно, но если нету второго двоеточия, она не работает. Сообщение отредактировано: Sav93 - 22.12.2010 0:30 |
мисс_граффити |
![]()
Сообщение
#5
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Sav93, а задача не предполагает использования pos, copy и т.п.?
если без них, то можно так: 1. идем по строке, пока она не закончится или не встретится первое : 2. идем по строке, выводя символы, пока не встретим второе : или она не закончится. По другой: for i:=1 to n do
for j:=1 to n do
begin
write (' A[',i,',',j,']='); readln (a[i,j]);
if i<j then b[i,j]:=...
else b[i,j]:=...
end;
только у тебя в условии опечатка, в обоих случаях b[ij]=a[ij] почему-то -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
если нету второго двоеточия, она не работает. Я добавил всего одну строку и причесал код:var
s: string;
t1,t2,i,j,k: byte;
begin
writeln('Введите текст: ');
readln(s);
i:=1;
k:=0;
t1:=0;
t2:=0;
while (i<=length(s)) and (k<=2) do begin
if s[i]=':'then begin
k:=k+1;
if k=1 then t1:=i else if k=2 then t2:=i;
end;
i:=i+1;
end;
if k=1 then t2:=Length(s)+1; // эта строка спасает ситуацию
s:=copy(s,t1+1,t2-t1-1);
write(s);
readLn;
end.
Но вообще-то твоя задача решается немного проще.. var
s: string;
t1,t2: byte;
begin
writeln('Введите текст: ');
readln(s);
t1:=Pos(':',s);
s[t1]:=#0;
t2:=Pos(':',s);
if t2=0 then t2:=Length(s)+1;
writeln(copy(s,t1+1,t2-t1-1));
readLn;
end.
![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
![]()
Сообщение
#7
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Решение можно еще упростить, если не жалко ломать начальную строку (а судя по решению автора темы - не жалко).
var
s: string;
begin
writeln('Введите текст: ');
readln(s);
Delete(s,1,Pos(':',s));
if Pos(':',s)=0 then
WriteLn(s)
else
writeln(copy(s,1,Pos(':',s)-1));
readLn;
end.
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Sav93 |
![]()
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Василий Репутация: ![]() ![]() ![]() |
Всем большое спасибо за помощь!!!
![]() |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 23:23 |