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

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


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

Здравствуйте уважаемые специалисты.

Помогите студенту пожайлуста.

У меня две проблеммы:

1.Решить методом Крамера. Протестировать решение с помощью программы.(на языке Pascal):

методом Крамера я решил, а программу написать немогу

|3 2 4| |х1| |0|

|2 1 1| |х2| = |0|

|7 0 1| |х3| |0|

Главный определитель системы получился= -15,

а все дополнительные= 0 (нули)

и значения всех неизвестных по формулам Крамера для решения системы n линейных уравнений

с n неизвестными тоже (нули).

2. (тоже на языке Pascal) Составить и протестировать на компьютере программу,

реализующую нахождение первой производной для таблично заданной функции

по разностной формуле Лагранжа первого порядка точности.

Видоизмените программу для вычисления второй производной (файл сохранит под другим именем!).

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

zemlo:

По первой задаче - метод Крамера самому писать не надо, это стандартный алгоритм, проще поискать в Интернете, например, тут есть. А приведенную систему и решать не надо - всякая однородная система (то есть с нулевыми свободными членами) имеет так называемое тривиальное решение - все иксы равны нулю.

Вторая задача - например, так:

var i,n:integer; s:real; y:array[1..100]of real;beginwrite('N ? '); readln(n); write('Step? '); readln(s);for i:=1 to n do begin write('Y[',i:2,'] ? '); read(y[i]) end; writeln; readln;for i:=2 to n do writeln((y[i]-y[i-1])/s); readlnend.

и

var i,n:integer; s:real; y:array[1..100]of real;beginwrite('N ? '); readln(n); write('Step? '); readln(s); s:=s*s;for i:=1 to n do begin write('Y[',i:2,'] ? '); read(y[i]) end; writeln; readln;for i:=3 to n do writeln((y[i]-2*y[i-1]+y[i-2])/s); readlnend.
Ссылка на комментарий
Поделиться на другие сайты

Нексус:

#include<stdio.h>main(){unsigned i,j,a[4],m[4],r[4]; unsigned long n=1;printf("IP ?  "); scanf("%u.%u.%u.%u",&a[0],&a[1],&a[2],&a[3]); printf("Mask? "); scanf("%u.%u.%u.%u",&m[0],&m[1],&m[2],&m[3]); for(i=0;i<4;i++)r[i]=(~m[i]|a[i])&255; printf("%3u.%3u.%3u.%3u\n",r[0],r[1],r[2],r[3]-1); for(i=0;i<4;i++)r[i]=(m[i]&a[i])&255; printf("%3u.%3u.%3u.%3u\n",r[0],r[1],r[2],r[3]+1); for(i=0;i<4;i++)for(j=0;j<8;j++){if(!(m[i]%2))n*=2; m[i]/=2;}printf("%lu\n",n-2); getchar(); getchar();}

Адреса задаются в обычном виде, с разделением октетов точками.

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

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

Сортировать по возрастанию элементы массива A(n) и B(n), а затем создать новый массив C(n+n).

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

KCEHbKA!!!:

Неясно, что должно быть в массиве C. Запишем в него подряд содержание отсортированных массивов A и B.

var a,b:array[1..100]of integer; c:array[1..200]of integer; i,j,n,t:integer;begin write('Length of the source arrays? '); readln(n); write('Array A? '); for i:=1 to n do read(a[i]); readln; write('Array B? '); for i:=1 to n do read(b[i]); readln; for i:=1 to n-1 do for j:=1 to n-i do   if a[j]>a[j+1] then begin t:=a[j];a[j]:=a[j+1];a[j+1]:=t end; for i:=1 to n-1 do for j:=1 to n-i do   if b[j]>b[j+1] then begin t:=b[j];b[j]:=b[j+1];b[j+1]:=t end; for i:=1 to n do begin c[i]:=a[i]; c[i+n]:=b[i] end;for i:=1 to 2*n do write(c[i]:8);writeln; readlnend.
Ссылка на комментарий
Поделиться на другие сайты

Ошибок не выдает, но на экран почему-то не выводит.

подскажите в чем причина.

#include <iostream.h>#include <math.h>class compl{public:float a,b;compl(float ac,float bc){a=ac;b=bc;}compl(){}~compl(){}/* Оператор сложения двух комплексных чисел*/compl operator+(compl c2){compl c1=*this,c3;c3.a=c1.a+c2.a;c3.b=c1.b+c2.b;return c3;}/* Оператор умножения  двух комплексных чисел*/compl operator*(compl c2){compl c1=*this,c3;c3.a=c1.a*c2.a-c1.b*c2.b;c3.b=c1.a*c2.b+c1.b*c2.a;return c3;}/* Вывод комплексного числа */void vivod (){cout <<a;if (b>0)cout <<"+"<<b<<"i";else cout <<b<<"i";}};void main(){compl  k1(2,3),k2(1,1),k3;k3=k1+k2;cout<<"\nРезультат сложения:\t";k3.vivod();compl k4(2,-1),k5(3,2), k6;cout<<"\nРезультат умножения:\t";k6=k4*k5;k6.vivod();} 

И такая же причина здесь ( тут на Pascal)

const n = 3; { razmernost matrizi }type matr = array[1..n, 1..n] of longint;procedure GetMatr(a:matr; var b:matr;m,i,j:integer);{ vicherkivanie iz matrizi stroki i stolbza }var ki,kj,di,dj:integer;begindi:=0;for ki:=1 to m-1 dobeginif (ki=i) then di:=1;dj:=0;for kj:=1 to m-1 dobeginif (kj=j) then dj:=1;b[ki,kj]:=a[ki+di,kj+dj];end;end;end;Function Determinant(a: matr; n: integer) : longint;{ vichislrnie opredelitelja matrizi }var i,j,d,k:longint;b:matr;begind:=0; k:=1;if (n<1) thenbeginwriteln('Determinant: Cann''t run. N=',n); halt;end;if (n=1)then d:=a[1,1]else if (n=2)then d:=a[1,1]*a[2,2]-a[2,1]*a[1,2]else { n>2 }for i:=1 to n dobeginGetMatr(a,b,n,i,1);{writeln('i=',i,' a[',i,',1]=',a[i,1]);PrintMatr(b,n-1);}d:=d+k*a[i,1]*Determinant(b,n-1);k:=-k;end;Determinant:=d;end;vara: matr;b: array [1..n] of integer;i, j, dt: longint;temp: integer;begin{ zapolnenie matriz }a[1, 1]:=2;  a[2, 1]:= 5; a[3, 1]:=4; b[1]:=30;a[1, 2]:=1;  a[2, 2]:= 3; a[3, 2]:=2; b[2]:=150;a[1, 3]:=2;  a[2, 3]:= 10; a[3, 3]:=9; b[3]:=110;{ vichislenie opredelitelja }dt := Determinant(a, n);for i:=1 to n do begin{menjaem mestami b s tekyshim stolbzom matrizi a}for j:=1 to n do begintemp := b[j];b[j] := a[i, j];a[i, j] := temp;end;writeln('x(', i, ') = ', Determinant(a, n) / dt);{nazad: {menjaem mestami b s tekyshim stolbzom matrizi a}for j:=1 to n do begintemp := b[j];b[j] := a[i, j];a[i, j] := temp;end;end;end.
Ссылка на комментарий
Поделиться на другие сайты

zemlo:

Выводит, только сразу закрывает окно вывода.

В первую программу добавь в конце (перед последней } )

getchar();

Во вторую программу добавь в конце (перед end.)

readln

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

задача. Есть две строки. Используя указатели найти и вьівести на екран общие последовательности из 5 и больше символов

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

здравствуйте. помогите пожалуйста с прогой (лаб.раб)

Разработать программу, которая вводит целочисленную матрицу из n строк и m столбцов (1 <n<= 100, 1<m<=50) и упорядочивает элементы матрицы

Упорядочить каждую строку по возрастанию элементов

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

Просто зашиваюсь, всвязи с командировками появилось много хвостов.

Незнаешь за что хвататься.

Помогите пожайлуста.

Есть код.

#include<iostream.h>#include<math.h>int main(){int x1,x2;int b;int a;int c;cout<<"\n Vvedite a";cin>>a;cout<<"\n Vvedite b";cin>>b;cout<<"\n Vvedite c";cin>>c;if(b<a,b<c){cout<<"\nB dolghno byt bolshe A i C";return 1;}x1=((-b+sqrt(b*b))-(4*a*c))/(2*a);x2=((-b-sqrt(b*b))-(4*a*c))/(2*a);cout<<"\n x1="<<x1;cout<<"\n x2="<<x2;return 0;}

Нужно добавить сложение двух матриц по формулам:

S1 - первая матрица с элементами (s1.a11 s1.a12)

(s1.a21 s1.a22)

S2 - вторая матрица с элементами (s2.a11 s2.a12)

(s2.a21 s2.a22)

S3 = S1 + S2

s3.a11 = s1.a11 + s2.a11

s3.a12 = s1.a12 + s2.a12

s3.a21 = s1.a21 + s2.a21

s3.a22 = s1.a22 + s2.a22

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

core_st:

задача. Есть две строки. Используя указатели найти и вьівести на екран общие последовательности из 5 и больше символов
Не совсем ясно, как поступать с вложенными общими последовательностями. Например, 12345678 и 234567 имеют общие последовательности из 5 и больше символов 23456, 234567, 34567. В таких случаях будем выводить все варианты, и длинные, и короткие.
#include<stdio.h>#include<string.h>main(){char s1[100],s2[100],s3[100]; int i,j,k,l1,l2,m=5; gets(s1); gets(s2); l1=strlen(s1); l2=strlen(s2); for(i=0;i<=l1-m;i++) for(j=0;j<=l2-m;j++) {k=0; *s3='\0';   while(*(s1+i+k)==*(s2+j+k)&&i+k<l1&&j+k<l2) {*(s3+k)=*(s1+i+k); *(s3+ ++k)='\0'; if(k>=m)puts(s3);}}getchar();}
Ссылка на комментарий
Поделиться на другие сайты

volchok91:

вводит целочисленную матрицу из n строк и m столбцов (1 <n<= 100, 1<m<=50) и упорядочивает элементы матрицы. Упорядочить каждую строку по возрастанию элементов
var i,j,k,m,n,t:integer; a:array[1..100,1..50]of integer;beginwrite('Dimensions ? '); read(n,m); readln;for i:=1 to n do begin write('Line',i:3,' : '); for j:=1 to m do read(a[i,j]); readln end;for i:=1 to n do for k:=1 to m-1 do for j:=1 to m-i do if a[i,j]>a[i,j+1] then begin t:=a[i,j];a[i,j]:=a[i,j+1];a[i,j+1]:=t end; for i:=1 to n do begin writeln; for j:=1 to m do write(a[i,j]:8) end;writeln; readlnend.

zemlo:

Ничего не понятно. Есть код решения квадратного уравнения (с точки зрения вычислительной математики плохой), добавить сложение матриц... ;)

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

:) Помогите пож. решить пару задачи по С++ ;)

C++

Strings

Вводим текст в Strings.

В данном тексте, найти и показать слова, содержащие как минимум 2 указаные буквы.

Struct

Вводим данные про 10 учеников ( ФИО,група ) в типе Struct.

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

Routines Rom-Bios

Вкл. и выкл. по очереди индикаторы клавиатуры (Num Lock,Cups Lock,Scroll Lock). int16h

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

volchok91:

забыл сказать это надо было на С++ сделать...
А надо было... Ну, переписать несложно:
#include<iostream.h>#include<iomanip.h>main(){int i,j,k,m,n,t,a[100][50];cout<<"Dimensions ? "; cin>>n; cin>>m; for(i=0;i<n;i++){cout<<"Line "<<i+1<<" : "; for(j=0;j<m;j++)cin>>a[i][j];}for(i=0;i<n;i++)for(k=0;k<m-1;k++)for(j=0;j<m-k-1;j++)if(a[i][j]>a[i][j+1])  {t=a[i][j];a[i][j]=a[i][j+1];a[i][j+1]=t;}for(i=0;i<n;i++){cout<<endl; for(j=0;j<m;j++)cout<<setw(8)<<a[i][j];}cout<<endl; getchar(); getchar();}
Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Radu:

Помогите пож. решить пару задачи по С++
Можно и пару...
В данном тексте, найти и показать слова, содержащие как минимум 2 указаные буквы.
Не слишком ясно... Будем считать, что вводятся две буквы, которые должны присутствовать в каждом выведенном слове.
#include<iostream.h>main(){char c,d,t[1000]; int i=0,j,k=0,l=0,m=0;cout<<"text ? "; cin.getline(t,200); fflush(stdin);cout<<"two letters ? "; cin>>c; cin>>d; do{if(t[i]>'@'){k++; if(t[i]==c)l=1; if(t[i]==d)m=1;} else{if(l+m==2){for(j=i-k;j<i;j++)cout<<t[j];cout<<endl;}k=0;l=0;m=0;}}while(t[i++]); getchar();getchar();}
Вводим данные про 10 учеников ( ФИО,група ) в типе Struct.

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

#include<iostream>#include<string>using namespace std;main(){int m=10,j,k; struct{string f,i,o;int g;}a[10],t;for(j=0;j<m;j++){cout<<"F I O G ? ";cin>>a[j].f;cin>>a[j].i;cin>>a[j].o;cin>>a[j].g;}for(k=0;k<m-1;k++)for(j=0;j<m-k-1;j++)if(a[j].f>a[j+1].f){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(j=0;j<m;j++){cout<<a[j].f<<" "<<a[j].i<<" "<<a[j].o<<" "<<a[j].g<<endl;}getchar(); getchar();}

Чтобы не мучиться с тестовым вводом, можно временно заменить значение m на 2 или 3 - это число вводимых записей.

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

volchok91: А надо было... Ну, переписать несложно:

#include<iostream.h>#include<iomanip.h>main(){int i,j,k,m,n,t,a[100][50];cout<<"Dimensions ? "; cin>>n; cin>>m; for(i=0;i<n;i++){cout<<"Line "<<i+1<<" : "; for(j=0;j<m;j++)cin>>a[i][j];}for(i=0;i<n;i++)for(k=0;k<m-1;k++)for(j=0;j<m-k-1;j++)if(a[i][j]>a[i][j+1])  {t=a[i][j];a[i][j]=a[i][j+1];a[i][j+1]=t;}for(i=0;i<n;i++){cout<<endl; for(j=0;j<m;j++)cout<<setw(8)<<a[i][j];}cout<<endl; getchar(); getchar();}

СПАСИБО))

а как откомпелировать в devc++?

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

volchok91:

Вставляешь текст в окно ввода, выбираешь в меню наверху Execute -> Compile & Run.

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

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

Доброго времени суток) Помогите плиз набросать классы для задачи, начали недавно c# изучать ну вообщем после делфей немного сложно( Суть задачи нужна схема работы маршрутного такси с возможностью добавления удаления остановок и пассажиров и схематической симуляцией....т.е. показать на какой остановке такси, сколько в нем пассажиров на остановке и т.д.

Заранее спасибо за любую помощь

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

AutoGen: вот набросал примерчик:

class mTaxi{private string[] stopsets; //остановкиprivate int curstopset; //текущая остановкаprivate int napravlenie; //направление движения (1 или -1)public int marshrut; //номер маршрутаpublic int passagirs; //сколько пассажиров в таксиpublic string stopset //текущая остановка{	get { return stopsets[curstopset]; }	set { }}public mTaxi(int Marshrut, string[] Stopsets){ //конструктор класса, в параметре передается номер маршрута и массив с остановками	stopsets = Stopsets;	marshrut = Marshrut;	curstopset = 0;	passagirs = 0;	napravlenie = 1;}public void add_passagir(){ //добавляет 1 пассажира	passagirs++;}public void add_passagir(int n){ //добавляет n пассажиров	passagirs += n;}public bool del_passagir(){ //высаживает 1 пассажира	if (passagirs == 0) return false;	passagirs--;	return true;}public bool del_passagir(int n){ //высаживает n пассажиров	if (passagirs < n) return false;	passagirs -= n;	return true;}public string go_to_next_stopset(){  //едет на следующую остановку	curstopset += napravlenie;	if (curstopset == 0) napravlenie = 1;					//меняем направление	if (curstopset == stopsets.Length - 1) napravlenie = -1; //на конечных остановках	return stopsets[curstopset];}}
Изменено пользователем Ф@РТОВЫЙ
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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



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