HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 19.05.2009, 06:12
Flame of Soul
Участник форума
Регистрация: 25.05.2007
Сообщений: 290
С нами: 9980798

Репутация: 435
Отправить сообщение для Flame of Soul с помощью MSN
По умолчанию

для MRAK9

Проверить всю правильность кода возможности нету так как моя видиокарта почему-то не хочет работать с GRAPH в режиме совместимости. Можно конечно было сделать и через VGA256, но так уж принято чертить графики через GRAPH.

y:=x*x*x*x-13*x*x+36; - оставила так как есть, ибо не хочется заморачиваться на преоброзовании и округлении типов. Если будет необходимость работать с real и считать степени по человечески то вот формула y:=exp(ln(X) *4)-13*Sqr(x)+36;

Исходный код:

PHP код:
program kl;
uses Graph;
var 
dv,mv,i,x,y,ta,tbinteger;
begin
  write
('vvedite pervoe znachenie diaposona: ');
  
read(ta);
  
write('vvedite vtoroe znachenie diaposona: ');
  
read(tb);
  
DV:=Detect;
  
InitGraph(DV,MV,'C:\TP7\UNITS\GRAPH');
  for 
i:=ta to tb do
  
begin
    x
:=i;
    
y:=x*x*x*x-13*x*x+36;
    
LineTo(x,y);
  
end;
  
read(x);
  
ClozeGraph;
end

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

PHP код:
x:=ta;
While 
x<=tb do
  
begin
    y
:=exp(ln(X) *4)-13*Sqr(x)+36;
    ...
    ...
    
PutPixel(xy15);
    
x:=x0.01;
  
end
Процедуры и функции модуля CRAPH

Процедуры.


* Arc (X,Y:Integer; U1, U2, R:Word)

Строит дугу окружности текущим цветом с текущими параметрами линии. X, Y – координаты центра дуги; U1 – угол до начальной точки дуги, отсчитываемый против часовой стрелки от горизонтальной оси, направленной с лева на право; U2 – угол до конечной точки дуги, отсчитываемый так же, как U1; R – радиус дуги.


* Bar (X1, Y1, X2, Y2:Integer)
Строит прямоугольник, закрашенный текущим цветом с использованием текущего стиля (орнамента, штриховки). X1, Y1, X2, Y2 – координаты левого верхнего и правого нижнего углов прямоугольника.


* Bar3D (X1, Y1, X2, Y2:Integer; Glubina: Word; Top:Boolean)
Строит параллелепипед, используя текущий стиль и цвет. X1, Y1, X2, Y2 – координаты левого верхнего и правого нижнего углов передней грани; Glubina – ширина боковой грани (отсчитывается по горизонтали); Top – признак включения верхней грани (если True – верхняя грань вычерчивается, False – не вычерчивается).


* Circle (X, Y: Integer; R: word)
Рисует текущим цветом окружность радиуса R с центром в точке (X, Y).


* ClearDevice
Очищает графический экран, закрашивает его в цвет фона.


* ClearViewPort
Очищает выделенное графическое окно, закрашивает его в цвет фона.


* CloseGraph
Закрытие видеорежима. Когда все запланированные графические работы выполнены, необходимо выйти из графического режима. Это делается с помощью не имеющей параметров процедуры ClozeGraph. В процессе выполнения эта процедура освобождает память, распределенную под драйверы графики, файлы шрифтов и промежуточные данные, и восстанавливает режим работы адаптера в то состояние, в котором он находился до выполнения инициализации системы.


* Ellipse (X, Y: Integer; U1, U2, XR, YR: Word)
Рисует дугу эллипса текущим цветом. X, Y – координаты центра эллипса; U1, U2 – углы до начальной и конечной точек дуги эллипса (см. процедуру Arc); XR, XY – горизонтальная и вертикальная полуоси эллипса.


* Fill Ellipse (X, Y: Integer; U1, U2, XR, YR: Word)
Рисунт заштрихованный эллипс, используя X, Y как центр и XR, YR как горизонтальную и вертикальную полуоси эллипса.


* FillPoly (N: Word; Var PolyPoints)
Рисует и штрихует многоугольник, содержащий N вершин с координатами в поле PolyPoints.


* InitGraph (Var Driver, Mode:Integer; Path: String)
InitGraph(DV,MV,'C:\TP7\UNITS\GRAPH'); Организует переход в графический режим. Переменные Driver и Mode содержат тип графического драйвера и его режим работы. Третий параметр определяет маршрут поиска графического драйвера. Если строка пустая (т.е. равна ’’), считается, что драйвер находится в текущем каталоге. Смотрите у Вас где находится файл GRAPH.TPU


* Line (X1, Y1, X2, Y2:Integer)
Рисует линию от точки X1, Y1, до точки X2, Y2.


* LineTo (X,Y:Integer)
Рисует линию от текущего указателя к точке X, Y.


* MoveTo (X,Y:Integer)
Смещает текущий указатель к точке X, Y.


* OutTextXY (X,Y:Integer; TextString: String)
Выводит текст в заданное место экрана.


* PieSlice (X,Y:Integer; U1, U2, Radius: Word)
Строит сектор круга, закрашенный текущей штриховкой и цветом заполнения. X, Y – координаты центра сектора круга; U1 и U2 – начальный и конечный углы сектора, отсчитываемые против часовой стрелки от горизонтальной оси, направленной в право; Radius – радиус сектора.


* PutPixel (X,Y:Integer; Color: Word)
Выводит точку цветом Color с координатами X, Y.


* Rectangle (X1, Y1, X2, Y2)
Рисует контур прямоугольника, используя текущий цвет и тип линий. X1, Y1 – координаты левого верхнего угла прямоугольника; X2, Y2 - координаты левого правого нижнего угла прямоугольника.


* Sector (X, Y: Integer; U1, U2, XR, YR: Word)
Рисует и штрихует сектор эллипса радиусом XR, YR с центром в X, Y от начального угла U1 к конечному углу U2.


* SetBkColor (Color: Word)
Устанавливает цвет фона.


* SetColor (Color: Word)
Устанавливает основной цвет рисования.


* SetFillStyle (Pattern, Color: Word)
Устанавливает образец штриховки и цвета.


* SetLineStyle (LineStyle, Pattern, Thickness: Word)
Устанавливает толщину и цвет линии.


* SetTextStyle (Font, Direction, CharSize: Word)
Устанавливает текущий шрифт, направление (горизонтальное или вертикальное) и размер текста.


* SetViewPort (X1, Y1, X2, Y2:Integer; ClipOn: Boolean)
Устанавливает прямоугольное окно на графическом экране. Параметр ClipOn определяет “отсечку” элементов изображения, не умещающихся в окне.


Функции.

GetMaxX и GetMaxY
Возвращает значения максимальных координат экрана в текущем режиме работы соответственно по горизонталь и вертикали.

* GraphResult
Возвращает значение GrOk, соответствующее коду 0, если все графические операции программы выполнились без ошибок, или возвращает числовой код ошибки (от -1 до -14).
 
Ответить с цитированием

Delphi
  #2  
Старый 17.05.2009, 17:48
snAKe33
Участник форума
Регистрация: 10.02.2009
Сообщений: 203
С нами: 9077779

Репутация: 379
По умолчанию Delphi

Что не правильно, не работает программа..помогите исправить ошибки
Код:
unit fazenda_;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;         // расстояние
    Edit2: TEdit;         // цена литра бензина
    Edit3: TEdit;         // потребление бензина на 100 км
    CheckBox1: TCheckBox; // True - поездка туда и обратно
    Button1: TButton;     // кнопка Вычислить
    Label4: TLabel;       // поле вывода результата расчета
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure EditKeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
var
    Edit: TEdit;
begin
    Edit := Sender as TEdit;
    // в поле Edit можно ввести только дробное число
    case Key of
    '0'..'9': ; // цифры
    #8:       ; // клавиша <Backspace>
    '.',',':  begin
                Key := DecimalSeparator;
                if Pos(DecimalSeparator,Edit.Text) <> 0
                    then Key := #0;
              end;
    #13: // клавиша <Enter>
        case Edit.Tag of
        1:  // клавиша нажата в поле Edit1
            Edit2.SetFocus; // фокус в поле Edit2
        2:  // клавиша нажата в поле Edit1
            Edit3.SetFocus; // фокус в поле Edit3
        3:  // клавиша нажата в поле edit3
            Button1.SetFocus; // фокус на кнопку Button1
        end;
    end;
end;

// щелчок на кнопке Вычислить
procedure TForm1.Button1Click(Sender: TObject);
var
  rast : real; // расстояние
  cena : real; // цена
  potr : real; // потребление на 100 км
  summ : real; // сумма
  mes: string;
begin
  // здесь возможно исключение типа EConvertError
  // в случае, если пользователь отставит
  // одно из полей ввода незаполненным
  try
        rast := StrToFloat(Edit1.Text);
        cena := StrToFloat(Edit2.Text);
        potr := StrToFloat(Edit3.Text);
    except
    on EConvertError do
    begin
        ShowMessage('Данные надо ввести во все поля!');
        // попытаемся найти пустое поле
        if Length(Edit1.Text) = 0
            then Edit1.SetFocus
        else if Length(Edit2.Text) = 0
                then Edit2.SetFocus
                else Edit3.SetFocus;    
        exit;
    end;
  end;

  summ := (rast / 100) * potr * cena;
  mes := 'Поездка на дачу';

  if  CheckBox1.Checked  then
  begin
      summ := summ * 2;
      mes := mes + ' и обратно';
  end;

  mes := mes + 'обойдется в ' + FloatToStrF(summ,ffGeneral,4,2)
             + ' руб.';
  Label4.Caption := mes;
end;

end.

Последний раз редактировалось scrat; 17.05.2009 в 18:29..
 
Ответить с цитированием

  #3  
Старый 17.05.2009, 22:26
PreVarioS
Новичок
Регистрация: 08.08.2005
Сообщений: 22
С нами: 10923899

Репутация: 5
По умолчанию

Народ, а бейсик решаете?)
 
Ответить с цитированием

  #4  
Старый 18.05.2009, 12:42
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
С нами: 12604706

Репутация: 0


По умолчанию

Цитата:
Сообщение от PreVarioS  
Народ, а бейсик решаете?)
Только в военное время
 
Ответить с цитированием

  #5  
Старый 19.05.2009, 00:58
Staratel
Познающий
Регистрация: 03.02.2009
Сообщений: 32
С нами: 9088878

Репутация: 18
По умолчанию

"Народ, а бейсик решаете?)"
Могу помочь
 
Ответить с цитированием

  #6  
Старый 19.05.2009, 10:19
MCSnake
Участник форума
Регистрация: 11.06.2008
Сообщений: 142
С нами: 9429001

Репутация: 38
По умолчанию

народ помогите плиз на V Basic решить задачу, есди можно то исходники в ПМ на ссылку скачивания скиньте плиз, очень буду благодарен
y=1!+2!+3!+...+n! (n>1); до n=10
 
Ответить с цитированием

  #7  
Старый 19.05.2009, 12:06
vtkt
Новичок
Регистрация: 06.12.2007
Сообщений: 10
С нами: 9699884

Репутация: 6
По умолчанию

Народ....Блиет по программированни...задачу на С++ сделал а вот с Ассемблером больште проблемы...

Прошу помочь в написаниие надо сделать на ассемблере
Задача:

Ввести в строку символьных данных,задавая буфер равный 15 словам.Заменить в этой строке нечетные символы на символ "J".Выдать полученную строку символов.

Пжлст....нужно оячень скоро

Заранее благодарен!
 
Ответить с цитированием

  #8  
Старый 19.05.2009, 15:55
Spy2000
Новичок
Регистрация: 09.05.2009
Сообщений: 1
С нами: 8951196

Репутация: 0
По умолчанию

Доброго времени суток!
Необходимо написать(C#) простенький менеджер горячих клавиш(запуск файла, открытие текстового документа итд).
Есть заготовка - как отлавливать сами нажатия. Нужно дописать их обработку и проверку.
http://webfile.ru/3626453
Заранее спасибо!
 
Ответить с цитированием

Простые числа
  #9  
Старый 20.05.2009, 02:20
Suteki
Новичок
Регистрация: 18.05.2009
Сообщений: 12
С нами: 8939101

Репутация: 19
Question Простые числа

Нужен код с++ для вычисления 100 Простыч чисел с индексами от 10 миллионов (10 000 000) до 1 миллиард (1 000 000 000).

т.е. как пример: простые числа: 2, 3, 5, 7, 11, 13, 17
Число 11 имеет индекс - 5

Гугл дал код:
Код:
/*
  -: Copyright © 1999-2003 AY-programs. All Rights Reserved. :-    
                  E-mail: ay@supermail.ru 
-------------------------------------------------------------------------------------
 Programma poiska prostih chisel.

   Po-umolchaniu programma poluchaet dannie iz "input.txt": chislo, do kotorogo 
nujno nayti vse prostie chisla. Resultat vivodit v "output.txt". Kluchem -l programma 
nachnet rabotat' v rejime polnogo razbora(s klaviaturi poluchaet imena vhodnogo i 
vihodnogo fila, po okonchanii raboti vivodit ih na ekran). Cherez komandnuu stroku 
ona mojet poluchat' imena vhodnogo i vihodnogo fila.
-------------------------------------------------------------------------------------

*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define STR_FILE_IN_NAME "input.txt"
#define STR_FILE_OUT_NAME "output.txt"
int MkOutFile(FILE *f_in, FILE *f_out);
bool bAll=false;

int main(int argc, char* argv[])
{
	char sFInName[256]=STR_FILE_IN_NAME, sFOutName[256]=STR_FILE_OUT_NAME, *pNothingDo;
	FILE *f_in, *f_out;
	char cRead;
	if(argc>1){
		if((argv[1][0]=='-')&&(argv[1][1]=='l')&&(argv[1][2]=='\0')){
			bAll=true;
		} else {
			pNothingDo=strcpy(sFInName,argv[1]);
			if(argc>2) pNothingDo=strcpy(sFOutName,argv[2]);
		}
	}
	//----------------begin all---
	if(bAll){
		printf("Input name of Input File:");
		scanf("%s",sFInName);
		printf("Input name of Output File:");
		scanf("%s",sFOutName);
	}
	//----------------end all-----
	f_in=fopen(sFInName,"r");
	f_out=fopen(sFOutName,"w");
	if (!f_in){
		printf("Error: can't open file with name %s\n", sFInName);
		if(bAll) scanf("%c", &cRead);
		return -1;
	}
	if (!f_out){
		printf("Error: can't open file with name %s\n", sFOutName);
		if(bAll) scanf("%c", &cRead);
		return -1;
	}
	if(MkOutFile(f_in, f_out)>=0){
		printf("Program was finished successfully!\n");
	} else {
		printf("Program was finished unsuccessfully!\n");
	}
	fclose(f_in);
	fclose(f_out);
	//----------------begin all---
	if(bAll){
		double dRead;
		f_in=fopen(sFInName,"r");
		f_out=fopen(sFOutName,"r");
		printf("Input File:\n");
		while(fscanf(f_in, "%lg", &dRead)==1){
			printf("%lg ",dRead);
		}
		printf("\n");
		printf("Output File:\n");
		while(fscanf(f_out, "%lg", &dRead)==1){
			printf("%lg ",dRead);
		}
		printf("\n");
		fclose(f_in);
		fclose(f_out);
	}
	if(bAll) scanf("%c", &cRead);
	//----------------end all-----
	return 0;
}

int MkOutFile(FILE *f_in, FILE *f_out) //osnovnaya funktsiya
{
	long int iSimple;
	if(fscanf(f_in, "%ld", &iSimple)!=1) return -1; 
	if(iSimple<=1) return 1;
	if (iSimple==2) {
		fprintf(f_out,"%d\n",2);
		return 1;
	}
	if (iSimple==3) {
		fprintf(f_out,"%ld\n",2);
		fprintf(f_out,"%ld\n",3);
		return 1;
	}
	long int *aiSimples = new long int[(iSimple/2)+1];
	if(!aiSimples) return -2;
	long int iNOS = 2;
	long int iCandidat;
	aiSimples[0]=2;
	aiSimples[1]=3;
	fprintf(f_out,"%ld\n%ld\n",2,3);
	iCandidat=3;
	iCandidat+=2;
	while(iCandidat<=iSimple){
		long int iNSravn = 1;
		bool bYes = true;
		while((aiSimples[iNSravn]*aiSimples[iNSravn])<=iCandidat){
			if(!(iCandidat%aiSimples[iNSravn])){
				bYes=false;
				break;
			}
			iNSravn++;
		}
		if(bYes){
			iNOS++;
			aiSimples[iNOS-1]=iCandidat;
			fprintf(f_out,"%ld\n",aiSimples[iNOS-1]);
		}
		iCandidat+=2;
	}
	delete [] aiSimples;

	return 1;
}

/*
  -: Copyright © 1999-2003 AY-programs. All Rights Reserved. :-    
                  E-mail: ay@supermail.ru 
*/
Программа выдает последнее число - 1 010 065 393
У этого числа индекс немного выше 50 000 000

вычисленные значения:
Код:
10 000 000 	179,424,673
20 000 000	373,587,883
30 000 000 	573,259,391
40 000 000 	776,531,401
50 000 000 	982,451,653
 
Ответить с цитированием

  #10  
Старый 20.05.2009, 15:21
Djezul
Познающий
Регистрация: 08.12.2008
Сообщений: 58
С нами: 9170134

Репутация: 10
По умолчанию

Народ помогите решить немного задач на паскале, моет я и о многом прошу, но думаю для большинства это не составит труда, если можно то побыстрее, в пятницу надо уже сдать. Задачи не сложные.
Вот условия:
1. Дана строка. Подсчитать самую длинную последовательность подряд идущих букв а.
2. 1. Расстояние между двумя словами равной длины – это количество позиций, в которых различаются эти слова. В заданном предложении найти пару слов заданной длины с максимальным расстоянием.
3. Дан текстовый файл с расширением inp, в котором каждая строка содержит последовательность действительных чисел. Выяснить, будут ли последовательности возрастающие. Результат анализа (Да или Нет) записать в выходной файл с расширением out (построчно).
4. В данной действительной квадратной матрице порядка n отсортировать строку, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственен. Во входном файле с расширением mas, в первой строке дан размер матрицы n, а в следующих n строках и n столбцах записаны элементы матрицы. Результат выполнения программы вывести на экран.
5. Создать типизированный файл Task5.txt с возможностью добавления, содержащий сведения о веществах: название вещества (текст(10), его удельный вес (действительное) и проводимость (проводник, полупроводник, изолятор) (текст[13]). Необходимо создать отчет (использовать подпрограммы):
a) выписать удельные веса и названия всех полупроводников и вывести на экран с заголовком "Полупроводники";
b) выбрать данные о проводниках с удельным весом не более 10 и вывести на экран после информации о полупроводниках, вставив заголовок "Проводники";
c) вывести все содержимое типизированного файла в текстовый файл Task5.sol.
Пример входного файла Task5.txt:
Фарфор 2.3 изолятор
Железо 7.9 проводник
Золото 19.3 проводник
Кремний 2.3 полупроводник
Железо 7.9 проводник
Стекло 2.5 изолятор

Последний раз редактировалось Djezul; 20.05.2009 в 15:26..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.