Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Заказы "Сделайте все за меня"


Рекомендуемые сообщения

Помогите пожалуйста. Программа на borland 3.1 Программа должна рисовать график функции sin(x) на промежутках которые задаются пользователем. Вот есть одна но выдаёт ошибки :

#include <iostream.h>#include <conio.h>#include <graphics.h>#include <dos.h>void DrawNumber(int,int,char*);int main(void){int gdriver=DETECT;initgraph(&gdriver,0,"e:\\bc\\bgi");if(graphresult()!=grOk){	cout<<"Ne udalos inicialrovat grafiku\n";	getch();	return 0;}int midx = getmaxx() / 2;int midy = getmaxy() / 2;setcolor(10);setfillstyle(0,10);pixel /*	for(int i=0;i<50;i++){	bar(0,0,getmaxx(),getmaxy());	bar3d(midx-i, midy-i, midx+i,midy+i, i, 1);	delay(25);}*/getch();}

Я нашел в Интернете какуюто графическую программу может её както можно переделать ? вот текст программы:

#include <graphics.h>#include <conio.h>#include <math.h>float F1(float z){return 2*sin(2*z) + 1;}float F2(float z){return pow((z+5),3)*(1+sin(z)*sin(z));}void main(){int g = DETECT, r, k, a=0, n=200, xg, yg;float b=3.14, x, dx, Mx, M1, M2;initgraph(&g, &r, "D:\\Borlandc\\BGI\0");setgraphmode(2);setbkcolor(0);outtextxy(630,245,"X");outtextxy(15,10,"Y");setcolor(7);moveto(0, 240);linerel(640, 0);setcolor(7);line(10, 0, 10, 480);setcolor(7);getch();Mx=625/3.14;M1=235/3.0;M2=235/624.0;dx=fabs((b-a)/(n-1));x=a;moveto(10, floor(M1*F1(0)) + 240);	for(int i=1; i<=n; i++, x+=dx)	{	xg = floor(Mx*x);	yg = floor(M1*F1(x));	lineto(xg + 10, yg + 240);	}settextstyle(0, 0, 1);outtextxy(470, 150, "F1=2*sin(2*x)+1");getch();x=a;setcolor(7);moveto(10, floor(M2*F2(0)) + 240);	for(i=1; i<=n; i++, x+=dx)	{	xg = floor(Mx*x);	yg = floor(M2*F2(x));	lineto(xg + 10, yg + 240);	}settextstyle(0, 0, 1);outtextxy(310, 430, "F2=((x+5)^3)*(1+sin^2(x))");getch();closegraph();}
Ссылка на комментарий
Поделиться на другие сайты

Dr0n4eG:

Спасибо за найденные примеры, конечно, но лучше бы без этого ужаса. К тому же они относятся к твоей задаче примерно так же, как паровозы к самолетам.

Ты, кстати, не указал, программа нужна на C или C++ - Borland C++ поддерживает оба языка. Я сделал универсальную (на C, но пойдет и на C++). Рисует график синуса (границы по X задаются в радианах), выход по Enter.

Далее, чтобы Borland C++ 3.1 работал с графикой, его нужно соответствующим образом настроить. Для этого в меню Вorland C++ "Options - Linker - Libraries..." надо отметить пункт "Graphics library" (по умолчанию там галочки нет), и нажать OK, естественно. Для простоты также желательно графический драйвер EGAVGA.BGI скопировать из папки BGI в папку BIN (в противном случае в команде initgraph надо вместо пустой строки в кавычках поместить путь к папке BGI, удваивая при этом обратные слеши, поскольку иначе они будут восприниматься C и C++ как служебные символы (у меня, например, это будет выглядеть "C:\\BORLANDC\\BGI") - но проще, как я уже заметил, просто скопировать этот файл в папку BIN).

#include <graphics.h>#include <stdio.h>#include <math.h>int main(){int GDriver=VGA,GMode=VGAHI,ErrorCode; float x1,x2,dx; int i;printf("\nX1? "); scanf("%f",&x1); printf("\nX2? "); scanf("%f",&x2);initgraph(&GDriver,&GMode,""); ErrorCode=graphresult();if(ErrorCode!=grOk){printf("Graphics Error: %s\n",grapherrormsg(ErrorCode)); getchar();}setbkcolor(BLUE); setcolor(RED); dx=(x2-x1)/640; moveto(0,240-240*sin(x1));for(i=0;i<640;i++)lineto(i,240-240*sin(x1+i*dx));getchar(); getchar(); closegraph(); return 0;}
Ссылка на комментарий
Поделиться на другие сайты

Программа нужна для C++. Я попробовал эту программу что ты сделал и даже испугался за комп )

поначалу всё пошло нормально ввёл 2 значения а потом экран стал какимто розово голубым цветом... я нажал Ентер и даже не знаю как описать то что стало с борландом ) он стал весь в мелкую сеточку а там где я водил курсором клеточки закрашивались в черный цвет ) Примерно так это выглядело )

Ссылка на комментарий
Поделиться на другие сайты

Dr0n4eG:

Это означает, что графический драйвер (этот самый EGAVGA.BGI) почему-то неправильно работает с твоей графической картой. У меня всё работает нормально. А запускаешь ты Borland из-под DOS, Windows XP или Vista? Монитор у тебя обычный или широкоформатный?

Вот несколько более универсальный в отношении графических режимов вариант этой программы, хотя я буду удивлен, если что-нибудь изменится. А исходного кода любой графической программы для Borland C++ 3.1, которая работала бы с твоей графической картой, у тебя нет - можно было бы посмотреть, какой графический режим она выставляет?

#include <graphics.h>#include <stdio.h>#include <math.h>int main(){int GDriver=DETECT,GMode,ErrorCode; float x1,x2,dx; int i,mx,my;printf("\nX1? "); scanf("%f",&x1); printf("\nX2? "); scanf("%f",&x2);initgraph(&GDriver,&GMode,""); ErrorCode=graphresult();if(ErrorCode!=grOk){printf("Graphics Error: %s\n",grapherrormsg(ErrorCode)); getchar();}mx=getmaxx(); my=getmaxy();setbkcolor(BLUE); setcolor(RED); dx=(x2-x1)/(mx+1); moveto(0,my/2*(1-sin(x1)));for(i=0;i<=mx;i++)lineto(i,my/2*(1-sin(x1+i*dx)));getchar(); getchar(); closegraph(); return 0;}
Ссылка на комментарий
Поделиться на другие сайты

Нужно реализовать веб страничку на которой (видимо использованием javascript) будет считаться результат введенной формулы (например 2+2)

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

Заранее благодарен! :(

Ссылка на комментарий
Поделиться на другие сайты

Слегка переделать готовый скрипт... например

<HEAD><script LANGUAGE="JavaScript"><!-- This script is a modification of the one from http://javascript.internet.com -->function calc(form) {form.result.value=eval(form.expr.value);}</SCRIPT></HEAD><BODY><form><table border=3 cellspacing=2 cellpadding=5><tr><td align=center><i>Equation</i></td><td align=center><i>Result</i></td></tr><tr><td align=center><input type=text name=expr size=15></td><td align=center><input type=text name=result size=15></td></tr><tr><td colspan=2 align=center><input type=button value="Calculate!" onclick="calc(this.form)"></td></tr></table></form></center></BODY>

Скопировать это в блокнот и назвать файл, например, calc.htm

Ссылка на комментарий
Поделиться на другие сайты

Пробовал вообще в ДОС. Шас попробовал в Виндовс выбило такую ошибку в обеих программах я точно не понял что она значит ) но я сделал скриншот

8afd9c9cee0d.jpg

Ссылка на комментарий
Поделиться на другие сайты

Помогите пожалуйста немного переделать курсовую

Я её сделал но через вариант обора дерева (через метки )

надо их заменить чем-то другим (метки использовать нельзя)

Вопрос жизни и смерти

Задание : Дана шахматная доска размером NxN. Написать программу, которая позволяет игроку расположить на доске М ферзей и проверяет, что ни один ферзь не бьет другого. Если это не так ,то <<неправильные ферзи >> помечаются другим цветом.

var pf1,pf2,pf3,pf4,pf5,pf6,pf7,i,j,u: integer;label m6,m2,m3,m4,m5,m1;begin	setcolor(10);	setfillstyle(1,0);	for u:=1 to 8 do begin	for j:=1 to 8 do	floodfill((j)*50+80,(u)*50+20,10);	begin	end;	end; 	desk; 	{*** stavfim 1-go ferzya na stroku N2 ***}m1: pf1:=random(9-nd); 	repeat  	pf1:=random(9-nd);  	until pf1>0;  pf2:=0;pf3:=0;pf4:=0;pf5:=0;pf6:=0;pf7:=0;t12:=1;t22:=2;t32:=3;t42:=4;t52:=5;t62:=6;t72:=7;t11:=pf1;{*** stavfim 2-go ferzya na stroku N2 ***}  m2:   if nd<6 then begin  repeat	pf2:=pf2+1;	t21:=pf2;	until (t21<>t11)and(t22<>t12)and(t21-t11<>t22-t12)and(t12-t21<>t22-t11);		 if (pf2>(8-nd))then begin		  pf2:=0;		  goto m1;		  end;	t21:=pf2;	  end;		{*** stavfim 3-go ferzya na stroku N3 ***}m3:	if nd<5 then begin repeat	pf3:=pf3+1;	t31:=pf3;	 until (t31<>t11)and(t32<>t12)and(t31-t11<>t32-t12)and(t12-t31<>t32-t11)and		   (t31<>t21)and(t32<>t22)and(t31-t21<>t32-t22)and(t22-t31<>t32-t21);	if (pf3>(8-nd)) then begin	pf3:=0;	goto m2;	end;	t31:=pf3;	end;{*** stavfim 4-go ferzya na strotu N4 ***} m4:  if nd<4 then begin repeat	pf4:=pf4+1;	t41:=pf4;	 until (t41<>t11)and(t42<>t12)and(t41-t11<>t42-t12)and(t12-t41<>t42-t11)and		   (t41<>t21)and(t42<>t22)and(t41-t21<>t42-t22)and(t22-t41<>t42-t21)and		   (t41<>t31)and(t42<>t32)and(t41-t31<>t42-t32)and(t32-t41<>t42-t31);		  if (pf4>(8-nd))then begin		  pf4:=0;		  goto m3;		  end;	t41:=pf4;end;
Ссылка на комментарий
Поделиться на другие сайты

mhav:

Насчет "немного переделать" - навряд ли так может получиться. Заметно, что это еще не рабочая программа - многое недописано или не соответствует условию, не буду разбирать. Не в пример проще написать все заново.

uses Graph,CRT;var i,j,m,n,k,p,GrDriver,GrMode:integer; x,y:array[1..100]of integer;procedure Barg(i,j:integer); begin Bar(i*p,j*p,(i+1)*p,(j+1)*p) end;beginWrite('n ? '); Readln(n); Write('m ? '); Readln(m);for i:=1 to m do begin Write(i:2,': y x ? '); Readln(x[i],y[i]) end;GrDriver:=VGA; GrMode:=VGAHi; InitGraph(GrDriver,GrMode,'\TP\BGI');if GraphResult<>GrOk then begin WriteLn('Graphic driver?'); i:=Ord(ReadKey); Halt end;SetBkColor(LightGray); k:=0; p:=Round(400/(n+1));for i:=1 to n do begin if not Odd(n) then k:=14-k; for j:=1 to n do begin k:=14-k; SetFillStyle(1,k+1); Barg(i,j) end end;SetFillStyle(1,2); for i:=1 to m do Barg(x[i],y[i]); SetFillStyle(1,14);for i:=2 to m do for j:=1 to i-1 do if(x[i]=x[j])or(y[i]=y[j])or(x[i]+y[i]=x[j]+y[j])or(x[i]-y[i]=x[j]-y[j]) then begin Barg(x[i],y[i]); Barg(x[j],y[j]); break end;i:=Ord(ReadKey)end.

Сначала вводится N, потом M - количество ферзей, потом пары координат каждого ферзя (разделяются пробелом).

Если не будет включаться графический режим, надо подкорректировать путь к графическому драйверу EGAVGA.BGI - он в программе задан строкой '\TP\BGI'.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Ragnos:

Два пишем, три в уме... решили.

var A:array[1..100]of integer; i,m,n:integer;beginwrite('length of array? '); readln(n);for i:=1 to n do begin write('A[',i:2,'] ? '); readln(A[i]) end;writeln; write('number? '); readln(m); writeln; for i:=1 to n do if m=A[i] then writeln('index: ',i:3); readlnend.

FBI:

Код консольного приложения для решения системы линейных уравнений методом Жордана на Delphi я приводил в этом посте.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Тролль:

Мне нужно через форму сделать, я попытался переделать, но ничего не получилось :D если у тебя найдется время и если тебе не трудно, можешь переделать, мне ну очень надо, а сам я наврятли смогу сделать :D . Заранее огромное спасибо!

Ссылка на комментарий
Поделиться на другие сайты

FBI:

Приспосабливать туда GUI - дело довольно хлопотное... Посмотри на этой странице ссылку "Лабораторная работа 2. РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ ПРЯМЫМИ МЕТОДАМИ. МЕТОД Гаусса-Жордана", там есть готовый текст на Delphi в GUI, правда, насколько правильно он работает, не проверял.

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте умные мега люди)

Хотелось бы программку такую...суть такая..

На всём поле 2 квадрата, каждый 3на3, в три клетки из 9 (это в одном из квадратов) мы тыкаем и на их месте появляются кленовые листочки, программа запоминает, куда мы тыкали и стирает их, тыкаем снова в трёх клётках этого же квадрата,там снова на секунду-две зажигаются кленовые листочки, затем пропадают снова. Каждый раз этот квадрат запоминает комбинации тыканий.

Второй квадрат же должен выдавать вариант, который более всего вероятен по его скопленным данным.

Такое вообще реально?)) Заранее спасибо, если что придумаете...

У меня нет языков программирования, компиляторов, поэтому...хотелось бы в мечтах увидеть готовый .ехе

Ссылка на комментарий
Поделиться на другие сайты

Второй квадрат же должен выдавать вариант, который более всего вероятен по его скопленным данным.

А здесь можно по-подробней. Что значит более всего вероятен???

Выдавать ту комбинацию, что встречалась больше всех. А если две комбинации встречались равное количество раз, что тогда???

Ссылка на комментарий
Поделиться на другие сайты

Ну значит тогда одну из них можно выдать..)

Их будет оч. много, поэтому вряд ли какие-то будут одинаковое кол-во раз..

Изменено пользователем Feur_GOR
Ссылка на комментарий
Поделиться на другие сайты

В принципе нет, главное, чтобы квадрат запомнил одновременное расположение 3ёх листочков.

Ссылка на комментарий
Поделиться на другие сайты

Help me, please! (pascal) :censored2:

1. Текстовый файл содержит список больных и наименование их болезни. Создать файл, содержащий список больных, сгруппированных по наименованию болезни.

2. так, чтобы имена файлов для обработки брались из командной строки. Обеспечить проверку доступа к файлу.

Ссылка на комментарий
Поделиться на другие сайты

pop-punk:

По тексту задания, в файле только одно ;) наименование болезни, значит, задача уже выполнена. Аминь!

Ну да ладно, предположим, что в файле больные с разными названиями болезней. Например, так:

Сидоров Джон простуда

Капустин Заяц холера

Анананасов Ананас чума

Сытина Людмила простуда

Пешеморепереходященская Дуня простуда

Тогда текст программы будет выглядеть так:

var fi,fo:text; z:array[0..1000]of string[60]; i,j,n:integer;function sub(s:string):string; var i:integer;begin for i:=length(s) downto 1 do 	if s[i]=' ' then begin sub:=copy(s,i+1,length(s)-i); break end end;begin{$I-}if paramcount<2 then begin writeln('too few parameters in the command line!'); readln; halt(1) end;assign(fi,paramstr(1)); reset(fi); if ioresult<>0 thenbegin writeln('no input file!'); readln; halt(1) end; assign(fo,paramstr(2)); rewrite(fo); if ioresult<>0 then begin writeln('name of the output file is wrong!'); readln; halt(1) end; {$I+}n:=0; while not eof(fi) do begin n:=n+1; readln(fi,z[n]) end; for i:=1 to n-1 do for j:=1 to n-i do   if sub(z[j])>sub(z[j+1]) then begin z[0]:=z[j]; z[j]:=z[j+1]; z[j+1]:=z[0] end;for i:=1 to n do writeln(fo,z[i]); close(fi); close(fo);end.

P.S. Немного подкорректировал - убрал лишнюю переменную.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Хотелось бы программку такую...суть такая..

На всём поле 2 квадрата, каждый 3на3...

...хотелось бы в мечтах увидеть готовый .ехе

Почти дописал. :bye1: ...осталось листики дорисовать.

Куда викладывать?

Еще такой вопрос. Статистика должна начинатся заново при каждом новом сеансе, или нужно сохранять статистику, для продолжения при следующем запуске?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...