ладно тогда в С++ Сформулирую конкретнее.Нужен СВОЙ строковый класс.С функциями сложения, вычитания и сравнения строк.
помогите пожалуйста! завтра зачет на с++ Code: Численные методы решения нелинейных дифференциальных уравнений. 1. Индивидуальное задание: Решением дифференциального уравнения является неизвестная функция x(t). Необходимо, используя численные методы решения ДУ, найти эту функцию. Полученное численное решение необходимо сопоставить с точным, чтобы исследовать зависимость величины локальной ошибки от величины шага интегрирования. Написать программу решения ДУ с помощью прямой (явной) формулы Эйлера. Написать программу решения ДУ с помощью обратной (неявной) формулы Эйлера. Написать программу решения ДУ с помощью формулы трапеций. Сопоставить результаты численного и точного решений ДУ на экране монитора. Дифференциальное уравнение (ДУ) x'(t)=-2x(t) Решение ДУ x(t) =exp(-2t)
Насколько я помню 2-й курс, программки там небольшие, но довольно хитрые и надо быть очень внимательным. Так что вряд ли кто-то возьмется за это. Поищи типовые решения. Например, вот это почитай http://www.cyberforum.ru/cpp/thread12928.html это часть решения твоих проблем. ГУГЛИМ!!!
гыгы, приходят в голову самые разгильдяйские мысли.... создай свой класс и делегируй все необходимые методы String. Наверное, не прокатит, зато посмеетесь вместе с преподом. А можно унаследовать String и переопределить лишь необходимые тебе методы либо что-то расширить - это распространенный подход, типовое решение Decorator. И это не будет противоречить твоему заданию, зато ты не будешь переживать о мелочах.... которые порою сводят с ума )))
попробуй так Code: #include <iostream.h> #include <math.h> #include <conio.h> int fac(int); void main() { int x=1,k=0,E=6,f=0; double a=0,n=0; for (k=0; a<E; k++) { f =2*k+1; n=pow(-1,k)*pow(x,f)/fac(k)*f; cout<< a <<endl; getch(); a+=n; } } int fac(int k ) { if ( k==0 ) return 1; else return k*fac( k-1); return 0; }
Ребят, помогите пожалуйста, вот такую лабораторную надо сделать на С++6, пожаааалуйста!) В общем: -Разработать программу для шифрования текстов по алгоритму, указанному в соответствующем варианте. Исходный текст должен браться из текстового файла. Результат должен быть записан в текстовый файл. В программе "Шифр перестановкой". Размер блока и порядок перестановки символов указывается интерактивно при работе с программой. -Дан шифротекст и размер блока. Требуется получить открытый текст и ключ — последовательность перестановки символов (получить автоматически). Пожалуйста, пожалуйста, пожалуйста, помогитеееее!)
Пожалуйста помогите решить лабу и код выложите тут! http://letitbit.net/download/3251.39b07d0873b74fa9da9888096/lab3.doc.html Если можно объясните в комментариях что к чему! Жду... Очень срочно
Помогите, пожалуйста, написать лабу на assebler для компилятора TASM Задание: Пpоцедуpа получает пpи вызове начальный адpес массива из N стpок в pегистpах DSX и pаспечатывает каждую тpетью стpоку, начинающуюся с буквы 'f'
Составить структурированную программу для нахождения корня уравнения на отрезке [0-1] с абсолютной погрешностью методом Итерраций. В программе предусмотреть подсчёт и выдачу на печать количество итерраций необходимых для вычисления значения корня с заданной точностью. Программу нужно написать на Pascal Прошу помогите мне с кодом отвечающим за расчёт этого уравнения...хотя бы алгоритм как это уравнение решить методом итерраций
Работа с памятью EEPROM ATmega16 Задание1. Сложить два числа хранящиеся в ячейках памяти по адресам 120H и 121H, записать полученную сумму в ячейку памяти по адресу 122H. В области EEPROM, начиная с адреса 008Н , содержащей 32 байта, поместить константу ААН. ------------------ асемблер
По итерациям что то вроде того: Code: program Iteraz; uses graph,crt; var a,b,x1,x,f1,f2,e:real; i,n:integer; function ArcSin ( X : Real ): Real; begin if X = 1.0 then { чтобы не было деления на 0 } ArcSin := Pi / 2.0 else ArcSin := ArcTan ( X / Sqrt ( 1 - X * X ) ); end; function f(tmpX:real):real; begin f:=sqrt(1*tmpX*tmpX)-ArcSin(tmpX); end; begin a:=0; b:=0.99; x1:=a; f1:=f(x1); e:=0.001; n:=round((b-a)/e); writeln('Metod iterazii'); for i:=1 to n do begin x:=x1+(b-a)/n; f2:=f(x); if f1*f2<=0 then begin writeln('Done. X = ',(X+x1)/2:6:4); writeln('Kolichectvo iterazii = ',i); end; x1:=x;f1:=f2; end; readkey; end. Метод итераций. При решении нелинейного уравнения методом итераций воспользуемся записью уравнения в виде x=f(x). Задаются начальное значение аргумента x0 и точность e. Первое приближение решения x1 находим из выражения x1=f(x0), второе - x2=f(x1) и т.д. В общем случае i+1 приближение найдем по формуле xi+1 =f(xi). Указанную процедуру повторяем пока |f(xi)-xi| >eУсловие сходимости метода итераций |f'(x)<1| . Структограмма метода итераций: Не знаю корректно ли работает программа, но я в свое время её сдал ;D Если подставить в качестве верхнего предела 1, то будет переполнение. По сути все верно, так как если изменить интервал, то программа вообще не найдет решения. Другой вариант: Code: program ITERAT; uses crt; const max_iter=100; {максимальное количество итераций} var i :integer; x,x0,eps,M:real; function ArcSin ( X : Real ): Real; begin if X = 1.0 then { чтобы не было деления на 0 } ArcSin := Pi / 2.0 else ArcSin := ArcTan ( X / Sqrt ( 1 - X * X ) ); end; function F(tmpX:real):real; {функция} begin f:=sqrt(1*tmpX*tmpX)-ArcSin(tmpX); end; begin {основная программа} clrscr; x:=0; x0:=0.99; eps:=0.001; i:=0; repeat M:=-(F(x+eps)-F(x-eps))/(2*eps); {коэффициент для улучшения сходимости} x0:=x; x:=x0+F(x0)/M; {сердце метода итераций} inc(i); until (abs(x-x0)<=eps)or(i>max_iter); if (abs(x-x0)<=eps) then writeln('Otvet: X= ',x:6:4,' naiden za ',i,' shagov') else writeln('Otvet ne naiden! Za ',max_iter:0,' shagov.'); readkey; end. Программа взята отсюда и немного подредактирована.
Задача на TurboP связанная с циклами. Найти среднее геометрическое всех целых положительных чисел меньше 10.
Code: program SREDNEE_GEOMETRICHESKOE; var SrGeoM:real; i:integer; begin SrGeom:=1; for i:=1 to 9 do SrGeom:=SrGeom*i; srGeom:=exp(ln(srGeom)/i); writeln('Srednee geometricheskoe vseh zelih polozhitelnix chisel menshe 10 [1..9] = ',SrGeom:6:4); readln; end. Результат работы: Code: Srednee geometricheskoe vseh zelih polozhitelnix chisel menshe 10 [1..9] = 4.147 2 Проверил на калькуляторе - сходится.
Составить программу, вычисляющую значение переменной F по правилу: min(x,y), если а -цифра F= max(x,y), если а - не цифра Переменные x,y,F – вещественные, переменная a – символьная. Значение переменных x,y,a ввести с клавиатуры. На экран вывести значение переменных x,y,a и вычисленное значение переменной F. язык - с# ИСпользовать жедательно толко оператор if else. Заранее спасибо)
Code: Console.WriteLine("Enter x: "); int x = int.Parse(Console.ReadLine()); Console.WriteLine("Enter y: "); int y = int.Parse(Console.ReadLine()); Console.WriteLine("Enter a: "); char a = char.Parse(Console.ReadLine()); int F = 0; if(Char.IsDigit(a)) { F = x > y ? y : x; } else if(Char.IsLetter(a)) { F = x > y ? x : y; } Console.WriteLine("\nX: {0} ; Y: {1} ; A: {2}\nF: {3}", x,y,a,F); Console.ReadLine();
Code: #include <stdio.h> #include <stdlib.h> #include <string.h> #define ABONENTS_COUNT_MAX 500 #define LINE_MAX 256 typedef struct { char name[LINE_MAX]; char phone_number[LINE_MAX]; unsigned int installation_year; } abonent; int abonents_compare (const void * a, const void * b) { return strcmp(((abonent*)a)->name,((abonent*)b)->name); } int main(int argc, char** argv){ FILE * text_file = fopen(argv[1],"rt"); abonent abonents[ABONENTS_COUNT_MAX]; int abonents_count = 0; char buf_name[LINE_MAX], buf_number[LINE_MAX]; int buf_year; while( fscanf(text_file,"%s %s %d", buf_name,buf_number,&buf_year)!= EOF){ strcpy(abonents[abonents_count].name,buf_name); strcpy(abonents[abonents_count].phone_number,buf_number); abonents[abonents_count++].installation_year = buf_year; } fclose(text_file); qsort (abonents, abonents_count, sizeof(abonent), abonents_compare); FILE * struct_file = fopen("base.txt","w"); fwrite(abonents,sizeof(abonent),abonents_count,struct_file); fclose(struct_file); char name[LINE_MAX]; while(1){ printf("Enter the name: "); scanf("%s",name); for(int i=0; i<abonents_count; i++) if(strcmp(abonents[i].name,name)==0) printf("%s\n",abonents[i].phone_number); } return 0; } Делов-то, это про телефоны, второе делай по аналогии. Перед тем, как идти сдавать, разберись, что в проге происходит. Она выполняет все, что от тебя требовалось. Текстовый файл в таком формате