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

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


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

Nikolai 45:

Условие неясно. ЛП - это линейная последовательность? И что значит заполнить матрицу по диагонали - заполнить главную диагональ числами последовательности, а остальные элементы нулями? И для чего приведена программа?

Рисунок к задачи 957287.gif

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

Nikolai 45:

#include<iostream.h>#include<iomanip.h>main(){int i,j,k,s,t,a[20][20]; cout<<"size? "; cin>>s; cout<<"first value? "; cin>>k; cout<<"step? "; cin>>t; cout<<endl;		for(j=0;j<2*s;j++)for(i=0;i<=j;i++)if(i<s&&j-i<s){a[i][j-i]=k; k+=t;}for(i=0;i<s;i++){for(j=0;j<s;j++)cout<<setw(4)<<a[i][j]; cout<<endl<<endl;}getchar(); getchar();}

Программа запрашивает размер матрицы, начальное значение и шаг. Для приведенного примера надо ввести размер 9, начальное значение 1, шаг 1.

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

ТРОЛЛЬ, я вот нашел готовое задание.

Ты не мог бы пожалуйста посмотреть правильно оно или нет?

там в перегрузке присваивания вроде нету, не подскажешь как сделать?

#pragma hdrstop

#include <conio.h>

#include <stdlib.h>

#include <iostream.h>

const maxsize=10; //макс. кол-во элементов вектора

class Vector

{ private:

int size; //размер вектора

int coord[maxsize]; //координаты вектора

public:

Vector(int n); //конструктор

void ViewVector(void); //вывод значений эл-тов вектора

void InputVector(void); //ввод вектора

Vector operator + (Vector b); //сложение векторов

int operator * (Vector b); //умножение векторов

Vector operator - (); //изменение знака вектора

};

//---------------------------------------------------------------------------

#pragma argsused

Vector::Vector(int n)

{ //констурктор

if (n>maxsize)

{

cout<<"Error - vector is too large"<<"\n";

exit(1);

}

else

{

size=n;

for(int i=0;i<n;i++) coord=0;

}

}

void Vector::InputVector()

{ //ввод вектора

for(int i=0;i<size;i++)

{

cout<<"Vector [ "<<i<<" ] = ";

cin>>coord;

}

cout<<"\n";

}

void Vector::ViewVector()

{ //вывод вектора

for(int i=0;i<size;i++)

{

cout<<coord<<" ";

}

cout<<"\n"<<"\n";

}

Vector Vector::operator + (Vector b)

{ //сложение векторов

if (size != b.size)

cout<<"Error - vectors are of different dimensions"<<"\n";

else

for(int i=0;i<size;i++) coord+=b.coord;

return *this;

}

int Vector::operator * (Vector b)

{ //умножение векторов

int m=0;

if (size != b.size)

cout<<"Error - vectors are of different dimensions"<<"\n";

else

for(int i=0;i<size;i++) m=m+coord*b.coord;

return m;

}

Vector Vector::operator - ()

{ //изменение знака вектора

for(int i=0;i<size;i++)

coord=-coord;

return *this;

}

int main(int argc, char* argv[])

{//тестирование класса

Vector a(3), b(3);

int c;

cout<<"Input a :"<<"\n";

a.InputVector();

cout<<"a = ";

a.ViewVector();

cout<<"Input b :"<<"\n";

b.InputVector();

cout<<"b = ";

b.ViewVector();

cout<<"\n";

a=a + b; //сложение

cout<<"a = a + b"<<"\n";

cout<<"a = ";

a.ViewVector();

c=a * b; //умножение

cout<<"c = a * b"<<"\n";

cout<<"c = "<<c<<"\n";

a=-a; //изменение знака вектора

cout<<"\n"<<"- a = ";

a.ViewVector();

getch();

return 0;

}

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

}{0TTa6bI4:

Ошибок не вижу, все должно работать. В некоторых компиляторах может потребоваться заменить const maxsize=10; на const int maxsize=10; - константы без типа некоторыми компиляторами допускаются, но не всегда. А присваивание доопределяется компилятором при создании класса автоматически по умолчанию, его специально программировать не надо.

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

может кто-нибудь поможет с моим вариантом,а то в программировании я ноль. ;)

Задание то же: Реализовать контейнерный класс в соответствии с вариантом задания,а так же выполнить перегрузку операций, приведенных в таблице. Создать интерфейс для тестирования всех функций класса. Тип объектов которые хранятся в контейнерном классе - int.

5d557cfa7b6at.jpg

da2443c1df87t.jpg

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

помогите пожалуйста лабораторная((((( ;) C/C++

___________________________________________

Маршрут|Протяженость маршрута|Время в дороге |

_______|____________________ |______________|

12 |27.55 |75 |

_______|_____________________|______________|

17 |13.6 |57 |

_______|_____________________|______________|

12 |57.3 |117 |

_______|_____________________|______________|

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

Влад(SAN):

И с чем помочь? Есть полностью заполненная табличка и больше никакой информации. Кстати, чтобы промежутки между словами не сбивались, надо включать таблицы в сообщения как "код" (иконка для обрамления нужными тегами - наверху окна сообщения).

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

Здравствуйте.

Необходимо реализовать алгоритм лексикографической сортировки цепочек последовательностей различной длины в среде разработки Pascal.. Как это сделать не знаю.. Поможете?

ЗЫ. Как источником, препод подсказал мне воспользовацца книгой "Ахо А., Хопкрофт Дж., Ульман Дж. - Построение и анализ вычислительных алгоритмов. М., 1979", но тока проку от етого мало.. Там хоть и расписан алгоритм, но как реализовать его на Паскале, не знаю..((

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

Die_hard:

Паскаль умеет встроенными средствами лексикографически сравнивать строки, написать программу "лексикографической сортировки цепочек последовательностей различной длины" не должно быть слишком сложным, за исключением уяснения смысла, вложенного в слова "цепочка последовательностей" - что это такое? Кроме того, важно знать, какие среды программирования на Pascal можно использовать - они разные, и у них разные средства и возможности.

Влад(SAN):

а задачи с физики кто-то сможет сделать ???=)
Во всяком случае, вопрос не для этой темы - есть раздел Наша жизнь > Образование: "Здесь можно и нужно обсуждать проблемы и вопросы, связанные с образованием. Вы можете спросить решение какой-либо задачи, метод создания шпаргалки и т.п."

Однако это все-таки Софтфорум, не хотелось бы, что он превращался в нечто вроде "Ответов" на mail.ru, где тьма народу, путаясь в русском языке, просит решить задачи для второго класса. Если кого-то задача заинтересует, могут и тут помочь, но не думаю, чтобы кто-то здесь захотел решать за школьников общеобразовательные задачи. Не Софтфорума это, ИМХО, дело.

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

Привет всем.Если ктонить если может то помогите.Оч нужно.

Задание на паскале.

Собствено само задание:Необходимо представить в памяти ЭВМ граф и подсчитать в нём локальные степени вершин.

Граф представить матрицей смежности(Представляет собой квадратную матрицу n на n, где n- количество вершин графа).

Вывести результаты на дисплей.

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

Cameroon:

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

var a,b,c:array[1..10]of integer; i,j,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10:integer;beginfor i:=1 to 10 do begin a[i]:=1; b[i]:=6; c[i]:=0 end;write('Handy input/random input (1/0)? '); readln(i); writeln;if i=1 then begin write('Place and number of the  first cube? '); readln(i,a[i]);  write('Place and number of the secohd cube? '); readln(j,a[j]);writeln endelse begin randomize; i:=random(10); inc(i); a[i]:=random(6); inc(a[i]);repeat j:=random(10); inc(j); until j<>i; a[j]:=random(6); inc(a[j]) end;b[i]:=a[i]; c[i]:=a[i]; b[j]:=a[j]; c[j]:=a[j]; j:=0;writeln('Source combination: '); for i:=1 to 10 do write(c[i]); writeln; writeln;for i1:=a[1] to b[1] do for i2:=a[2] to b[2] do for i3:=a[3] to b[3] doif i1+i2+i3=10 then for i4:=a[4] to b[4] do if i2+i3+i4=10 then for i5:=a[5] to b[5] do  if i3+i4+i5=10 then for i6:=a[6] to b[6] doif i4+i5+i6=10 then for i7:=a[7] to b[7] do if i5+i6+i7=10 then for i8:=a[8] to b[8] do  if i6+i7+i8=10 then for i9:=a[9] to b[9] do   if i7+i8+i9=10 then for i10:=a[10] to b[10] do	if i8+i9+i10=10 then begin j:=1; writeln(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) end;if j=0 then writeln('No decisions  '); writeln; writeln('To exit press Enter '); readlnend.

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

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

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

leksev:

var i,j,n:integer; a:array[1..100,1..100]of byte; b:array[1..100]of integer;beginwrite('Dimension of adjacency matrix of the graph? '); readln(n); for i:=1 to n do begin write('Line',i:3,' : '); for j:=1 to n do read(a[i,j]); readln end;for i:=1 to n do begin b[i]:=0; for j:=1 to n do b[i]:=b[i]+a[i,j] end;  writeln; writeln('Local grades:'); for i:=1 to n do write(b[i]:4); writeln; readlnend.
Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

помогите реализовать основные процедуры/функции для работы с абстрактным типом данных "очередь":

1. добавление в конец;

2. извлечение из начала;

3. очистка очереди.

буду очень благодарен!

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

помогите реализовать основные процедуры/функции для работы с абстрактным типом данных "очередь":

1. добавление в конец;

2. извлечение из начала;

3. очистка очереди.

буду очень благодарен!

ой.. среда разработки - pascal ABC или turbo pascal.
Ссылка на комментарий
Поделиться на другие сайты

или хотя бы подскажите что я делаю не так во тут:

type link=^zap;

zap=record;

info:string;

next:link;

end;

var

beginO,endO:link;

procedure writeO(var beginO,endO:link;c:string);

var

u:link;

begin

new(u);

u^.info:=c;

u^.next:=nil;

if beginO=nil then

beginO:=u

else

endO^.next:=u;

endO:=u;

end;

procedure readO(var beginO,endO:link;var c:string);

var

u:link;

function freeO(x1:link):boolean;

begin

freeO:=(x1=nil);

end;

begin

if freeO(beginO)

then

writeln('Очередь пуста')

else

begin

c:=beginO^.info;

u:=beginO;

beginO:=beginO^.Next;

dispose(u);

end;

end;

procedure clearO(var beginO,endO:link);

var

u:link;

begin

u:=beginO;

beginO:=beginO^.next;

dispose(u);

end;

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

Die_hard:

хотя бы подскажите что я делаю не так во тут:
Ну, во-первых, нет основной программы. Ну и кое-какие мелочи вроде ; после слова record. Вот слегка подкорректированный текст:
type link=^zap; zap=record info:string; next:link end;var beginO,endO,u:link; p:string;procedure writeO(c:string);beginnew(u); u^.info:=c; u^.next:=nil;if beginO=nil then beginO:=u else endO^.next:=u; endO:=u;end;procedure readO(var c:string);beginif beginO=nil then writeln('Nothing to read! ')else begin c:=beginO^.info; u:=beginO; beginO:=beginO^.Next; dispose(u); end;end;procedure clearO;begin repeat u:=beginO; if u=nil then break; beginO:=beginO^.next; dispose(u); until false end;beginp:='AAAA'; writeO(p); p:='BBBB'; writeO(p); p:=''; {clearO;}readO(p); writeln(p); readO(p); writeln(p); readlnend.

Записывает в очередь и читает из нее пару строк. Если раскомментировать вызов clearO, то очередь будет после записи чиститься и попытки чтения из нее дадут только сообщения о пустоте очереди.

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

Тролль!

Большое вам спасибо за помощь и комментарии!

У меня тут возник ещё один вопрос.. А как будут выглядеть примерно эти же процедуры, если сюда добавить ещё:

+инициировать очередь (procedure init(queue):thumbup:

+создать массив очередей(array[1..100] of queue);

собственно вопрос: как создаются подобные процедуры и как они будут "компоноваться" с уже написанными? т.е. чтобы уже написанные Вами выглядели примерно так:

procedure writeO(queue;element);

procedure readO(queue;element);

procedure clearO(queue);

?

P.S. мне всё это необходимо, для всё того же моего первого сдесь вопроса - сортировки цепочек последовательностей..

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

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

type link=^zap; zap=record info:string; next:link end;queue=record beginO,endO:link end;var a:array[1..100]of queue; i,j:integer; p:string;procedure writeO(var b:queue; c:string);var u:link;beginnew(u); u^.info:=c; u^.next:=nil;if b.beginO=nil then b.beginO:=u else b.endO^.next:=u;b.endO:=u;end;procedure readO(var b:queue; var c:string);var u:link;beginwith b do beginif beginO=nil then writeln('nothing to read!')else begin c:=beginO^.info; u:=beginO; beginO:=beginO^.Next; dispose(u) end;end;end;procedure clearO(var b:queue);var u:link;beginwith b do beginrepeat u:=beginO; if u=nil then break; beginO:=beginO^.next; dispose(u); until falseend;end;beginfor i:=1 to 3 do for j:=1 to 3 do begin p:=chr(i+64)+' '+chr(j+64); writeO(a[i],p) end;clearO(a[2]);for i:=1 to 3 do for j:=1 to 3 do begin p:=''; readO(a[i],p); writeln(p) end; readlnend.

А инициировать очереди специально не надо, массив уже содержит сотню вполне готовых к использованию пустых очередей. Можно, конечно, создавать очереди динамически, но для "сортировки цепочек последовательностей" (я так и не понял, что это такое) вполне подходит статический массив очередей, благо пустые очереди места практически не занимают (по 8 байт).

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

Разработать программу, которая выводит на экран таблицу, содержащую данные, введите с клавиатуры.

_____________________________________________________________

Вид транспорта|маршрут|Протяженность маршрута(км)|Время в дороге|

_____________|_______|_________________________|_____________|

Тр---------------|12--------|27,55----------------------------|75--------------|

Т-с--------------|17--------|13,6------------------------------|57--------------|

А----------------|12a-------|57,3------------------------------|117------------|

____________________________________________________________|

------- - это пробел.

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

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

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

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

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

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

Войти

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

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

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



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