
12.11.2008, 23:31
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
пример как у Dr.zomber'a, тока с использованием факториала:
Код:
#include <stdio.h>
#include <math.h>
int fact(int fct);
int main(int argc, char* argv[])
{
int n, i;
double x;
double a = 0.0, b = 0.0;
scanf("%lf", &a);
scanf("%lf", &b);
scanf("%d", &n);
if(b>5.0) b = 4.0;
if(a<2.0) a =2.0;
for(i=1; i < n; i++)
{
x = x + pow(a*b, i-1) / (fact(i) * (b-i));
}
printf("%lf\n", x);
return 0;
}
int fact(int fct)
{
return (fct == 1)? 1 : fct * fact(fct-1);
}
З.Ы. интересная весчь: если n = 7, то выводится
1.#INF00

|
|
|

12.11.2008, 23:58
|
|
Banned
Регистрация: 12.12.2007
Сообщений: 253
Провел на форуме: 579997
Репутация:
40
|
|
хм...
у меня так норм выходит:
// lab4.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "math.h"
#include "stdio.h"
int _tmain(int argc, _TCHAR* argv[])
{
double b, a, n, i,i1;
double S=0;
i1=1;
printf("\n Vvedit a, b, n");
scanf_s("%lf%lf%lf",&a,&b,&n);
if (b>5)
b=4;
if (a<2)
a=2;
for(i=1;i<=n;i++)
S=pow(a*b,i-1)/i1*(b-i);
i1=i1*i;
printf("\n=%f\t",S);
return 0;
}
Не ну нормально ?? Начало 1го курса  ппц
|
|
|

13.11.2008, 00:01
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
Код:
// lab1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int fact(int); //факториал
int _tmain(int argc, _TCHAR* argv[])
{
int a,b,n;
//Ввод
cout<<"Enter a:";
cin>>a;
cout<<"Enter b:";
cin>>b;
cout<<"Enter n:";
cin>>n;
//Условия
if(b>5) b=4;
if(a<2) a=2;
int s = 0; //сумма
//Суммируем
for(int i=0;i<n;i++)
{
s += (pow((double)(a*b),(double)i-1))/(fact(i)*(b-i));
}
cout<<"Answer:"<<s;
return 0;
}
int fact(int a)
{
if(a==0) return 1;
else return a*fact(a-1);
}
|
|
|

12.11.2008, 21:52
|
|
Постоянный
Регистрация: 01.09.2007
Сообщений: 866
Провел на форуме: 2022674
Репутация:
1224
|
|
ты бы хоть задание сюда написал,лично мне влом еще ссылку вбивать
да и всю лабу бесплатно никто не решит,так: моментами помочь
|
|
|

13.11.2008, 13:25
|
|
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме: 4608122
Репутация:
874
|
|
Хм, может я чего то не знаю, но
Восьмеричная система счисления построена на цифрах от 0 до 7. Однозначное число в восьмеричной системе это числа от 0 до 7.
Дальше, что значит символьное представление? Эти цифры и есть символы которые обозначают число! В языках программирования обычно принято так. Если записано "просто число" то это десятичное, если впереди стоит 0 то это восмеричное, если 0x - шестнадцатиричное. Значит, если я правильно понял насчет символьного представления, то тебе нужно просто приписать впереди 0 (ноль).
Т.е.
Восьмеричное число 6 будет записано как 06.
|
|
|

13.11.2008, 14:26
|
|
Новичок
Регистрация: 11.11.2008
Сообщений: 2
Провел на форуме: 3458
Репутация:
0
|
|
извените плиз
я вот токо начал изучать ассемблер,вот и нада на ассемблере. вот паскаль и с++ чото ищо рублю а в ассемблере ноль.помогите.извините что ненаписал сразу
|
|
|

13.11.2008, 18:04
|
|
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме: 127017
Репутация:
61
|
|
Сообщение от uzer2008
я вот токо начал изучать ассемблер,вот и нада на ассемблере. вот паскаль и с++ чото ищо рублю а в ассемблере ноль.помогите.извините что ненаписал сразу
А в русском языке ты рубишь?
в чем сложность переписать написанный мною выше код на ассемблер? В каком месте загвоздка?
|
|
|

14.11.2008, 08:39
|
|
Участник форума
Регистрация: 11.06.2008
Сообщений: 142
Провел на форуме: 540493
Репутация:
38
|
|
народ помогите лабу доделать, сделал почти все но не могу вывести печать на принтере(пункт 4)
1. Разместите на форме следующие компоненты:
TToolBar (компонент VCL с закладки Win32. Он объединяет расположенные на нем кнопки и другие элементы управления и централизованно управляет ими);
на TToolBar выведите 4 кнопки TSpeedButton для диалогов открытия файла, выбора шрифтов, печати и выхода из приложения;
компоненты диалогов открытия файла, выбора шрифтов и печати;
два компонента TMemo;
2. Напишите код для кнопки TSpeedButton1:
свяжите файловую переменную с выбранным файлом;
откройте файл для чтения с установкой размера считываемого блока в 1 байт;
в цикле While, который выполняется, пока не будет достигнут конец файла
a) получите положение файлового указателя:
Pointer:=FilePos(F); // var Pointer: Longint;
b) считайте из файла блок размером 1К в буфер:
BlockRead (F, Buf, SizeOf(Buf), BytesRead); // Byf – массив типа Byte р-ром 1К
Здесь используется расширенный синтаксис процедуры BlockRead, при котором в программу возвращается количество реально считанных блоков (переменная BytesRead). Вместо SizeOf(Buf) можно указать 1024 (т.е. 1К).
c) используя дополнительную переменную типа String, выведите в TMemo1 считанный блок;
d) выполните редактирование считанного блока, например, замените символ пробела на запятую:
for i:=1 to BytesRead do if Buf[i]=32 then Buf[i]:=44;
e) выведите отредактированный текст в TMemo2;
f) передвиньте указатель в файле на начало обрабатываемого блока, так как при выполнении процедуры BlockRead он переместился на конец блока;
g) запишите отредактированный блок из буфера на диск:
BlockWrite (F, Buf, BytesRead);
Указатель при этом передвинется на конец блока.
3. Напишите код для диалога выбора шрифтов, позволяющий устанавливать шрифты в обоих TMemo.
4. Организуйте печать текста из окна TMemo2 (не более двух страниц !), предусмотрите возможность печати нескольких копий.
+++++ обещаю, хз правда с этой репой мона нет, если че друга попрошу))
Последний раз редактировалось MCSnake; 14.11.2008 в 08:43..
|
|
|

14.11.2008, 12:25
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
http://sources.ru/delphi/system/print_without_tprinter.shtml
|
|
|

14.11.2008, 12:49
|
|
Новичок
Регистрация: 14.11.2008
Сообщений: 2
Провел на форуме: 1684
Репутация:
0
|
|
Добрый день.
Скажите пожалуйста, почему различаются результаты при выполении арифметических операций на чистом С++ и при использовании АССЕМБЛЕРНОЙ ВСТАВКИ?
Код:
#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
BYTE ddS = 10;
BYTE ccS = 10;
BYTE aS = 6;
WORD NUM;
void main()
{
__asm
{
MOV AL, ccS
SUB AL, aS
INC AX
PUSH AX
MOV AL, ccS
MOV BL, ddS
CBW
DIV BL
PUSH AX
MOV AL, 3
MOV BL, aS
MUL BL
MOV BL, 2
CBW
DIV BL
POP BX
ADD AL, BL
POP BX
CBW
DIV BL
MOV NUM, AX
}
cout<<"ASSEMBLER = "<<NUM<<endl;
cout<<"C++ = "<<setprecision(3)<<showpoint<<(static_cast<float>(ccS)/ddS+(3*aS)/2)/(ccS-6+1)<<endl;
system("PAUSE");
}
Сейчас все сходится.
Но можете взять отличные от этих значения - увидите результат.
Нужно для вывода по лабе.
Благодарствую.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|