Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разбор решений
DF2 :: ФОРУМЫ > Основные форумы > Софт и железо > Программирование / Coding
Страницы: 1, 2, 3, 4
Darth_Beleg
Расколол задачу C. Она неимоверно простая.
krasotka
Добрые люди, помогите мне пожалуйста, решите задачу! Я в Паскале не соображаю. Ну вот задали, а сделать надо. Прошу Вас!
Вот задача: Даны две вещественные матрицы А(N*M), В(N*M). Получить матрицу С(N*M), каждый элемент которой равен сумме элементов i-строки матрицы А, которые отсутствуют в j-м столбце матрицы В. Использовать подпрограммы проверки наличия числа в j-м столбце матрицы В, вычисления суммы, формирования новой матрицы. Блок-схема.
Очень на Вас надеюсь! sorry.gif
Bourn
2 krasotka
а пример можно?(махинаций с матрицами)
Druin
Да епрст... вот за что я не люблю програмирование, так что 99% времени занимает расшифровка самого задания...
Bourn
Проверяем работоспособность программы!
Код
program CreateC;

const N=4;M=4;

var
a,b,c:array[1..N,1..M] of double;

procedure ReadM;
var x,y:integer;
begin
Writeln('Enter array of A:');
for x:= 1 to N do
for y:= 1 to M do
read(a[x,y]);
Writeln('Enter array of B:');
for x:= 1 to N do
for y:= 1 to M do
read(b[x,y]);
end;

procedure WriteC;
var x,y:integer;
begin
for x:= 1 to N do
for y:= 1 to M do
if y<M then write(c[x,y]) else writeln(c[x,y]);
read(x);
end;

function CheckB(e:double;j:integer):double;
var x:integer;
bol:shortint;
begin
bol:=0;
for x:=1 to M do if b[x,j]=e then if bol=0 then begin bol:=1;CheckB:=0; end;
if bol=0 then CheckB:=e;
end;

function Summa(i:integer):double;
var x,y:integer;
s:double;
begin
for y:=1 to M do s:=s+CheckB(a[i,y],y);
Summa:=s;
end;

procedure MakeC;
var x,y:integer;
begin
for x:= 1 to N do
for y:= 1 to M do
c[x,y]:=Summa(x);
end;

begin
ReadM;
MakeC;
WriteC;
end.
BreakMaster
Все правильно, имхо.
Только в функции Summa переменную s обнулять нужно вначале.
И еще я не понял зачем нужно read(x)
Bourn
Цитата(BreakMaster @ 30 Mar 2006, 11:32)
Все правильно, имхо.
Только в функции Summa переменную s обнулять нужно вначале.
И еще я не понял зачем нужно read(x)

для задержки, delay не пашет sad.gif
Druin
Кнэчно делай работать не будет... библиотеку тыж не подключил... кажись crt... wink.gif
krasotka
Вот пример с матрицами:

A=
1 2 3
4 5 1


B=
1 2 5
2 3 1

C=
c11 c12 c13
... ... ...

Т. е. с11=2+3 (т.к 1 есть в j-м столбце матрицы В); с12=1+3 (т.к. 2 есть есть в j-м столбце матрицы В) и т. д
Если кто-нибудь знает как нарисовать блок-схему к моей задаче, то сбросте мне на: anad11@mail.ru Плиз!!!
Druin
Если я правильно понял, то с11=3 (бо 2 есть тоже в j-м столбце)
BreakMaster
есть менее изощреные способы задержки smile.gif
просто readln;
ладно, я уже предирацца пошел...
krasotka
Да с11=3. Я ошиблась сначала.
gamecreator
А что за блок-схема?
Алгоритм в картинках?
BreakMaster
грубо говоря, если перевести с языка паскаля на русский и каждый абзац засунуть в квадратик, получится блок-схема smile.gif
gamecreator
Ну я так и думал
krasotka
Да, вы правильно думаете! ну так кто-нибудь поможет мне с блок-схемой?Прошу Вас!
BreakMaster
по-моему если человеку дали текст програмы, блок-схему грех самому не сделать, имхо.
Bourn
Цитата(BreakMaster @ 30 Mar 2006, 22:37)
по-моему если человеку дали текст програмы, блок-схему грех самому не сделать, имхо.

ну не понятно что делать с подпрограммами для каждой из них свою блок схему надо...
krasotka
Я проверяла программу, она не идет. ???

Добавлено ([mergetime]1143751242[/mergetime]):
Народ, пожалуйста, напишите программу хотя бы без подпрограмм. А дальше я сама попробую разобраться. Помогите!!!
Druin
ясна... у тя хоть скока сроку?
Bourn
Цитата(krasotka @ 30 Mar 2006, 15:52)
Вот пример с матрицами:

A=
1 2 3
4 5 1

   
B=
1 2 5
2 3 1

C=
c11 c12 c13
...    ...  ...

Т. е. с11=2+3 (т.к 1 есть в j-м столбце матрицы В); с12=1+3 (т.к. 2 есть  есть в j-м столбце матрицы В) и т. д

изменение j столбца зависит от чего либо?
и ты уверена что так будет тк по аналогии
Т. е. с11=3 (т.к 1 и 2 есть в j-м столбце матрицы В); с12=1 (т.к. 2 и 3 есть есть в j-м столбце матрицы В) и т. д

иди как ты считаешь?
krasotka
Неделя. Помогите!!!
Kshishtov
Народ, помогите.Знаю,уже просил,но снова надо.Нужно какую-нибудь анимацию в паскале, желательно без модуля graps и без звуков.Просто тупо анимацию.Оставте здесь,или на мыло скиньте.От меня респект гарантирован.
Danilych
В каком смысле тупо анимацию? Еще и без графа?
Kshishtov
В общем самую простую.Там паровозик, домик..Не знаю..Еще что-нибудь..
uses graph
и т.д.
Я имею в виду,чтобы не было uses graphs.
Danilych
Проста проползание паровозика через экран сойдет?
gamecreator
че за uses graphs?
Garold Fonzen
Эту тему в "Hard and Soft".
Kshishtov
Не знал,Сори.
Угу, сойдет.Спасибо, ДАнилыч.Лови плюс.
Darth_Beleg
Раз уж все здесь лихо решают олимпиадные задачи.
Команда Саратовского ГУ - чемпионы ICPC, i. e. абсолютные чемпионы мира!!!
Задачи
Результаты
Bourn
Цитата(Darth_Beleg @ 14 Apr 2006, 23:24)
Команда Саратовского ГУ - чемпионы ICPC, i. e. абсолютные чемпионы мира!!!

можно почитать их блог с некоторыми задачками
http://blogs.mail.ru/community/icpc/
+ может выкинуть наши задания с олимпиады?
Darth_Beleg
Цитата
можно почитать их блог

Там нет задач финала - это так, междусобойчик. Рекомендую всем обратить внимание на I.
Цитата
может выкинуть наши задания с олимпиады?

Какие?
Bourn
Цитата(Darth_Beleg @ 15 Apr 2006, 21:05)
Там нет задач финала - это так, междусобойчик. Рекомендую всем обратить внимание на I.


Какие?

1)само собой нет, это просто их блог
2)ну с олимпиады НГТУ
Darth_Beleg
http://applmath.jino-net.ru/files/nstu2006.rar
Bourn
Цитата(Darth_Beleg @ 15 Apr 2006, 22:51)

напиши плиз прогу Б1, а то мне так кажеться там условие не корректно поставлено, из за этого я плохо выступил sad.gif
Darth_Beleg
Собственно, все задачи готовы.
hmm3rulez
На материнской плате первого пентиума 150 два ряда из четырёх "пап", возле которых написано "USB 1". Какой стороной одевать на эти "папы" "мамы" USBишного "выкидыша", чтобы не сгорела флэшка?
RAT01
ОФФТОП
Цитата(hmm3rulez @ 20 Apr 2006, 02:31)
На материнской плате первого пентиума 150 два ряда из четырёх "пап", возле которых написано "USB 1". Какой стороной одевать на эти "папы" "мамы" USBишного "выкидыша", чтобы не сгорела флэшка?

Там должна быть 1 с одной стороны(ключ).
А вообще читай мануал материнки, в те время общего стандарта на УСБ не было, так что можно спокойно спалить контролер(я уже экспериментировал).
Советую купить переходник PCI-USB 2.0 и побыстрее будет, и всяко надежней, тока с дровами, иначе запаришся в инете искать.
Bourn
1)тему с программированием объеденить надо(всетаки задача)
2)без графа? мда, ты таким образом даже точку не выведешь на экран smile.gif, только если текстом задавать анимацию smile.gif
Irh
Ну, можно и без графа точку вывести. Видеопамять, видеорегистры, 10 прерывание, VesaBE, в конце концов... laugh.gif
Bourn
Цитата(Irh @ 22 Apr 2006, 12:52)
Ну, можно и без графа точку вывести. Видеопамять, видеорегистры, 10 прерывание, VesaBE, в конце концов... laugh.gif

это ясно smile.gif, можно и асм код вставить smile.gif, тока как он вобще это объяснять будет...
Kshishtov
Да нет, есть такая фигня наз-ся graphs(!!!s на конце)
Она иногда исп-зя(в книжки видел)
А мне надо graph(!!!!без S!!!)
Если кто может,скиньте еще какой-нить анимации простенькой.Можно и сложненькой, но лучше попроще.+ с меня.
Еще задача по типизированым файлам:
Дан файл H1, элементами которго являются массивы целых чисел a0, a1,...,a4.Записать в файл H2 последовательность массивов a0 a1,a1 a2, a2 a3, a3 a4, a4 a0.

исх.данные
1 2 3 4 2
5 6 7 8 1
9 10 11 12 1
3 3 2 2 2

Блин, тут плохо получаются числа выстроить!Более понятн в файле прикрепленном.
gamecreator
А можно пример ответа?
Kshishtov
Знал бы, не выкладывал.smile.gifПРосто опять хочу получить ЗАЧет за чужой счет, ибо сам с паскалем не дружу.
gamecreator
Цитата(Kshishtov @ 25 Apr 2006, 21:30)
Знал бы, не выкладывал.smile.gif

не понял твоих слов blink.gif .
не говори загадками shum_lol.gif .
я спросил есть ли у тебя пример ответов moral.gif .
Bourn
вот кое че накатал, ногами не бить smile.gif, можно посложнее если надо...
program dem_gra4;
uses crt,graph;
var
DriverVar, ModeVar, ErrCode,A4,A3,B4,B3,Cl,Dx,Dy : integer;
X1,X2,Y1,Y2,D,T : real;
Play : boolean;
begin
DriverVar:= Detect;
InitGraph(DriverVar,ModeVar,'');
repeat
if Random(5)=0 then Play:=True else Play:=False;
SetFillStyle(1, White);
Bar (0,0,GetMaxX,GetMaxY) ;
A4:=Random(5);
A3:=Random(5);
B4:=Random(5);
B3:=Random(5); Cl:=Random(5)*2; T:=0;
SetColor(Random(4));
repeat
if Play and (Random(5)=1) then SetColor(Random(14));
D:=T+Cl;
X1:= (1.5*Cos(A4*T)+1.5*Cos(A3*2*T))*60;
X2:= (1.5*Cos(A4*D)+1.5*Cos(A3*2*D))*60;
Y1:= (1.5*Sin(B4*T)+1.5*Sin(B3*2*T))*60;
Y2:= (1.5*Sin(B4*D)+1.5*Sin(B3*2*D))*60;
Dx:=GetMaxX div 2;
Dy:=GetMaxY div 2;
Line(Round(Y1)+Dx,Round(X1)+Dy,Round(X2)+Dx,Round(Y2)+Dy);
T:=T+0.01;
until (T>=5);
SetColor(15);
Delay(500);
until KeyPressed;
CloseGraph;
end.
Kshishtov
GС, ниче у меня нету.Энто мне задали по инфе, решить не могуsmile.gifВот и решил воспользоваться помощью форумчан...опять..smile.gif
Боурн,спасибо.Лови +.Если у кого есть еще,выкладывайте, лишним не будетsmile.gif
Bourn
program NLO;
uses Crt, Graph;
const
R =20;
Pause = 50;
var
DriverVar,ModeVar,ErrCode,Xmin,Xm,Ymin,Ym,X,Y,Tx,Ty,Rx,Ry, Size,I,Dx,Dy,Width,Height : integer; Sauser : Pointer; begin
Randomize;
DriverVar:= Detect;
InitGraph(DriverVar,ModeVar,'') ;
ErrCode := GraphResult;
if ErrCode <> grOk
then Writeln(GraphErrorMsg(ErrCode)) else
begin
SetTextStyle(DefaultFont,HorizDir,2);
OutTextXY(50,10,'„Ґ¬®­бва жЁп ¤ўЁ¦Ґ­Ёп Ќ‹Ћ');
X:=R*5; Y:=R*2;
Xm:=GetMaxX - 5;
Ym:=GetMaxY - 25;
Ellipse(X,Y,0,360,R,R div 3 +2);
Ellipse(X,Y-4,190,357,R,R div 3);
Line(X+7,Y-6,X+10,Y-12);
Line(X-7,Y-6,X-10,Y-12);
Circle(X+10,Y-10,2);
Circle(X-10,Y-10,2);
FloodFill(X+1,Y+4,White);
Tx:=X-R-1 ;
Ty:=Y-14;
Rx:=X+R+1;
Ry:=Y+R div 3+3;
Width:=Rx - Tx+1;
Size:=ImageSize(Tx,Ty,Rx,Ry);
GetMem(Sauser,Size);
GetImage(Tx,Ty,Rx,Ry,Sauser^);
PutImage(Tx,Ty,Sauser^,XorPut);
Xmin:=0;
Ymin:=30;
SetFillStyle(1,Blue);
SetColor(White);
Rectangle(Xmin,Ymin,GetMaxX,GetMaxY);
SetViewPort(Xmin,Ymin,GetMaxX,GetMaxY,ClipOn);
FloodFill(Xmin+1,Ymin+1,White);
for I:=1 to 500 do PutPixel(Random(GetMaxX),Random(GetMaxY-Ymin),White);
X:= Xm div 3 - Xmin;
Y:= Ym div 3 - Ymin;
Dx:=6;
Dy:=6;
repeat
PutImage(X, Y, Sauser^, XORPut);
Delay(Pause);
PutImage(X, Y, Sauser^, XORPut);
if (X<Xmin) or (Y<Ymin) or (X+Width+1>Xm) or (Y+Height+1>Xm) then
begin
if (X-Dx < Xmin) then X := Xmin else X:=X-Dx;
if (Y-Dy < Ymin) then Y := Ymin else Y:=Y-Dy;
Dx:=GetMaxX div 10 - Random(GetMaxX div 4);
Dy:=GetMaxY div 10 - Random(GetMaxY div 4);
end else
begin
if (X+Dx < Xm) then X:=X+Dx else X:=Random(GetMaxX)-Random(GetMaxX div 4);
if (Y+Dy < Ym) then Y:=Y+Dy else Y:=Random (GetMaxX)-Random (GetMaxX div 3);
end;
until KeyPressed;
FreeMem(Sauser, size);
CloseGraph;
end;
end.
gamecreator
Цитата(Kshishtov @ 25 Apr 2006, 23:38)
GС, ниче у меня нету.Энто мне задали по инфе, решить не могуsmile.gifВот и решил воспользоваться помощью форумчан...опять..smile.gif
Боурн,спасибо.Лови +.Если у кого есть еще,выкладывайте, лишним не будетsmile.gif

А что в результате выйти должно? Обычно с файлом примера дают файл ответа для него.
Kshishtov
*пожимаю плечами* не знаю..Ничего больше не давали...
Боурн, спасибо еще раз.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.