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

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


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

@kvazimoda,

Спасибо, но это сильно просто) а с координатами можно? :)

Боюсь, что этим мои знания C ограничиваются. Причём даже не столько C, сколько как это всё просчитывать. :)

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

Боюсь, что этим мои знания C ограничиваются. Причём даже не столько C, сколько как это всё просчитывать. :)

Да но ее надо на паскале

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

Да но ее надо на паскале

Паскаля вообще не знаю :) Даже не видел никогда :)

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

Artys

Да, эта модель игры на биллиарде способна потрясти даже сумасшедший дом... ;) Шары, лежащие треугольником, в котором каждый угол прямой, и это лишь первое из целого ряда допущений :))

В общем, будем вводить координаты шаров и проверять, сколько из них лежат на диагоналях квадратов из луз. Если все три лежат (я весьма смутно представляю себе неэвклидову геометрию этого биллиарда, хотя игра ведется, несомненно, в одном из римановых пространств) на диагоналях, то засчитаем только два из них. Тогда...

program billiard_of_gods;const a=1750;var i,k:integer; x,y:array[1..3]of real;beginfor i:=1 to 3 do begin write('ball ',i,': x,y: '); readln(x[i],y[i]) end;k:=0; for i:=1 to 3 do if (y[i]=x[i])or(y[i]=x[i]+a)or(y[i]=a-x[i])or(y[i]=2*a-x[i]) then inc(k);if k=3 then k:=2; writeln('It is ',k,' miraculous balls'); readlnend.
Изменено пользователем Тролль
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

1. (Тема : Файлы)

Составить динамическую модель следующего объекта:

Состав студентов факультета с разбивкой на группы. Количество специальностей на факультете, групп каждой специальности и студентов в каждой группе задать самостоятельно. Составить модуль поиска адреса (ссылки) элемента списка по его информационным полям.

2. (Тема : Стеки, Деки, Очереди)

Используя очередь, решить следующую задачу. Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все входящие в нее цифры (с сохранением исходного порядка как среди цифр, так и среди остальных литер строки).Строк больше 1.(Пример: Стро2к3а -> Строка23)

1. Что такое "динамическая модель факультета", я не знаю.

2.

#include "stdafx.h"#include<fstream>#include<queue>#include<ctype.h>using namespace std;queue<char>ccq,ciq;int main(){ifstream fin("f.txt"); if(fin.fail())return 1; ofstream fout("g.txt");while(true){char c=fin.get(); bool b=fin.eof(); if(c!='\n'&&!b)if(isdigit©)ciq.push©;else ccq.push©; else   {while(!ccq.empty())fout<<ccq.front(),ccq.pop(); while(!ciq.empty())fout<<ciq.front(),ciq.pop(); fout<<endl; if(b)break;}}fin.close(); fout.close(); return 0;}

Может быть, #include "stdafx.h" надо будет закомментировать (зависит от компилятора).

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

1. Что такое "динамическая модель факультета", я не знаю.

2.

#include "stdafx.h"#include<fstream>#include<queue>#include<ctype.h>using namespace std;queue<char>ccq,ciq;int main(){ifstream fin("f.txt"); if(fin.fail())return 1; ofstream fout("g.txt");while(true){char c=fin.get(); bool b=fin.eof(); if(c!='\n'&&!b)if(isdigit©)ciq.push©;else ccq.push©; else{while(!ccq.empty())fout<<ccq.front(),ccq.pop(); while(!ciq.empty())fout<<ciq.front(),ciq.pop(); fout<<endl; if(b)break;}}fin.close(); fout.close(); return 0;}

Может быть, #include "stdafx.h" надо будет закомментировать (зависит от компилятора).

Огромное спасибо! Только "isdigit©" при проверке символа выдавала ошибку, но это поправил.

По 1 программе, смыл такой,

Дан список (в файле): Фамилия Группа Специальность...

Модель поиска, состоит в том, что про вводе информационного поля, в файл выводятся все строки содержащие это поле...например при вводе группы(фамилии или специальности), выводятся все строки с такой группой(фамилией или специальностью).

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

Artys

Да, эта модель игры на биллиарде способна потрясти даже сумасшедший дом... ;) Шары, лежащие треугольником, в котором каждый угол прямой, и это лишь первое из целого ряда допущений :))

В общем, будем вводить координаты шаров и проверять, сколько из них лежат на диагоналях квадратов из луз. Если все три лежат (я весьма смутно представляю себе неэвклидову геометрию этого биллиарда, хотя игра ведется, несомненно, в одном из римановых пространств) на диагоналях, то засчитаем только два из них. Тогда...

program billiard_of_gods;const a=1750;var i,k:integer; x,y:array[1..3]of real;beginfor i:=1 to 3 do begin write('ball ',i,': x,y: '); readln(x[i],y[i]) end;k:=0; for i:=1 to 3 do if (y[i]=x[i])or(y[i]=x[i]+a)or(y[i]=a-x[i])or(y[i]=2*a-x[i]) then inc(k);if k=3 then k:=2; writeln('It is ',k,' miraculous balls'); readlnend.

Большое спасибо то что и просил, только можно сюда добавить мелочь, надо учесть что пирамида может вращаться, в этом случае не попадает ни один шар. На рисунке это было (справа) и координаты шара которым бьем по пирамиде. А так огромное спасибо

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

Artys

надо учесть что пирамида может вращаться, в этом случае не попадает ни один шар
Мы же задаем координаты шаров. Если пирамида будет повернута, изменятся и координаты шаров.
выдает неправильное количество шаров при координатах (120,3380), (188,3380), (154,3346). -ответ должен быть 1

В ЛС у тебя: "при (120,3380),(188,3380),(154,3414) там должно быть ноль. "

Я принял, что "будем вводить координаты шаров и проверять, сколько из них лежат на диагоналях квадратов из луз". В первом случае на диагонали лежат два шара (120,3380) и (154,3346), во втором случае на диагонали лежит один шар (120,3380), поэтому и считается, что он попадет. А почему бы ему не попасть в лузу, полетев по диагонали? Объясни.

Проверяется только возможность попадания шара по диагонали в лузу, кто и как подтолкнет его в этом направлении, в этой модели не учитывается. Поэтому два шара на одной диагонали могут попасть в противоположные лузы на этой диагонали.Или попасть в лузы два шара могут только если лежат на разных диагоналях? Уточни.

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

Artys

Мы же задаем координаты шаров. Если пирамида будет повернута, изменятся и координаты шаров.

В ЛС у тебя: "при (120,3380),(188,3380),(154,3414) там должно быть ноль. "

Я принял, что "будем вводить координаты шаров и проверять, сколько из них лежат на диагоналях квадратов из луз". В первом случае на диагонали лежат два шара (120,3380) и (154,3346), во втором случае на диагонали лежит один шар (120,3380), поэтому и считается, что он попадет. А почему бы ему не попасть в лузу, полетев по диагонали? Объясни.

Проверяется только возможность попадания шара по диагонали в лузу, кто и как подтолкнет его в этом направлении, в этой модели не учитывается. Поэтому два шара на одной диагонали могут попасть в противоположные лузы на этой диагонали.Или попасть в лузы два шара могут только если лежат на разных диагоналях? Уточни.

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

(рис 1)

В обведенной комбинации будет забит 1 шар, а в остальных 0 шаров

на втором рисунке аналогично.

Заранее спасибо.

Безымянный.jpg

11.jpg

post-114546-0-09594100-1337074685_thumb.

post-114546-0-36466900-1337075741_thumb.

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

Тролль, привет!

Не в службу, а в дружбу... выручи, пожалуйста!

Реализовать на C++.

С комментариями и архивом с готовой рабочей программой (.exe)

Составить динамическую модель следующего объекта:

Список номеров и маршрутов рейсов автобусов с разбивкой рейсов по районам следования. Количество районов и рейсов в каждый район задать самостоятельно. Составить модуль сортировки рейсов по убыванию номеров.

Буду очень признателен!=))

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

По 1 программе, смыл такой,

Дан список (в файле): Фамилия Группа Специальность...

Модель поиска, состоит в том, что про вводе информационного поля, в файл выводятся все строки содержащие это поле...например при вводе группы(фамилии или специальности), выводятся все строки с такой группой(фамилией или специальностью).

То есть фактически это не список, а таблица типа

aaa bb s1aaa bb s2aaa cc s3aaa cc s4ddd ee s5ddd ee s6ddd ff s7ddd ff s8

Тут aaa, bbb (P.S. то есть, тьфу, ddd) - названия специальностей, bb..ff - названия групп, s1..s8 - фамилии студентов.

Тогда программа будет такой:

#include<iostream>#include<fstream>#include<string>using namespace std;int main(){ifstream ifs("p.txt"); if(ifs.fail()){cerr<<"p.txt"<<" is not exist!"<<endl; getchar(); return 1;}int b=0; string w,s1,s2,s3; cout<<"Word for search? "; cin>>w; cout<<endl; ofstream ofs("g.txt");while(!ifs.eof()){ifs>>s1>>s2>>s3; cout.setf(ios::left); if(s1==w||s2==w||s3==w){cout.width(20);  cout<<s1; cout.width(20); cout<<s2; cout.width(20); cout<<s3<<endl;  ofs.setf(ios::left); ofs.width(20); ofs<<s1; ofs.width(20); ofs<<s2; ofs.width(20); ofs<<s3<<endl;}}ifs.close(); ofs.close(); cin.get(); cin.get(); return 0;}

Входной файл p.txt. Вывод отобранных строк идет и на экран, и в файл g.txt.

Но такая таблица выглядит довольно глупо - для каждого студента пишется и специальность, и группа. Если по специальности учится сто студентов, в таблице надо сто раз повторять название специальности. Гораздо удобнее выглядит список типа

специальность1

группа1

студент1

студент2

группа2

студент3

студент4

специальность2

...

Тогда только надо как-то отличать названия специальностей, групп и студентов. Будем давать названию специальности префикс ##, а названию группы # (можно в принципе использовать и другие символы, например, _ или пробелы, или отличать их как-то иначе, если этот вариант чем-то не нравится).

Тогда наш исходный список в файле будет выглядеть так:

##aaa#bbs1s2#ccs3s4##ddd#ees5s6#ffs7s8

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

#include<iostream>#include<fstream>#include<string>using namespace std;int main(){ifstream ifs("f.txt"); if(ifs.fail()){cerr<<"f.txt"<<" is not exist!"<<endl; getchar(); return 1;}int b=0; string w,s1,s2,s3; cout<<"Word for search? "; cin>>w; cout<<endl; ofstream ofs("g.txt");while(!ifs.eof()){getline(ifs,s1,'\n'); if(s1[1]=='#'){s3=s1; if(b<=3)b=0; if(s1==w) b=3;													if(b>=3){cout<<s1<<endl; ofs<<s1<<endl; continue;}} if(s1[0]=='#'){s2=s1; if(b<=2)b=0; if(s1==w){b=2; cout<<s3<<endl;}		  						if(b>=2){cout<<s1<<endl; ofs<<s1<<endl; continue;}}			{	   if(b<=1)b=0; if(s1==w){b=1; cout<<s3<<endl<<s2<<endl;}						if(b>=1){cout<<s1<<endl; ofs<<s1<<endl; continue;}}}  ifs.close(); ofs.close(); cin.get(); cin.get(); return 0;}

Тут имя входного файла я выбрал f.txt.

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

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

Тролль,будь другом без твоей помощи никак...

Составить динамическую модель следующего объекта:

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

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

Реализовать на C++.

С комментариями и архивом с готовой рабочей программой (.exe)

Составить динамическую модель следующего объекта:

Список номеров и маршрутов рейсов автобусов с разбивкой рейсов по районам следования. Количество районов и рейсов в каждый район задать самостоятельно. Составить модуль сортировки рейсов по убыванию номеров.

// модуль с функцией сортировки вектора структур пузырьковым методомvoid sort(vector<ts> &v)  {ts st; for(int i=1;i<v.size();i++)for(int j=1;j<v.size();j++)		 if(v[j].m>v[j-1].m){st=v[j]; v[j]=v[j-1]; v[j-1]=st;}}

Это в файле s.cpp

#include<iostream>#include<fstream>#include<vector>#include<string>// подключили библиотекиusing namespace std;// подключили стандартное пространство именstruct ts{int m,b; string r;};// задали структуру данных#include "s.cpp"int main(){ifstream ifs("a.txt"); if(ifs.fail()){cerr<<"f.txt"<<" is not exist!"<<endl; getchar(); return 1;}// открыли входной файлofstream ofs("b.txt");// открыли выходной файлvector<ts> v;  ts st;// объявили вектор структур данных и структуру для временного хранения данныхwhile(!ifs.eof()){ifs>>st.m>>st.b; getline(ifs,st.r,'\n'); v.push_back(st);}// заполнили вектор структур из входного файлаsort(v);// отсортировали векторfor(int i=0;i<v.size();i++){st=v[i]; ofs<<st.m<<' '<<st.b<<' '<<st.r<<endl;}// вывели вектор в выходной файлifs.close(); ofs.close();// закрыли файлы}

Входной файл a.txt вида

1 1 r1

1 2 r1

2 3 r1

1 4 r2

2 4 r2

Тут в каждой строке первое число - номер рейса, второе - номер автобуса, а затем строка с названием района.

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

P.S. Ребята, на кого вы учитесь, если Serty даже компилятором не обзавелся?

И задачи тут однотипные, ничего не стоит по образу и подобию все сделать...

u5.zip

u5.zip

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

Список участков предприятия с разбивкой по цехам. Количество цехов и участков каждого цеха задать самостоятельно. Составить модуль поиска участка с максимальным номером!если можно с комментариями!
int m[2],mm[2]; m[1]=0; while(!ifs.eof()){ifs>>m[0]>>m[1]; if(m[1]>=mm[1]){mm[0]=m[0]; mm[1]=m[1];}}

Это модуль поиска участка с максимальным номером, он должен быть в файле m.cpp

#include<iostream>#include<fstream>using namespace std;int main(){ifstream ifs("c.txt"); if(ifs.fail()){cerr<<"c.txt"<<" is not exist!"<<endl; getchar(); return 1;}// открыли входной файл c.txt#include "m.cpp"// подключили модуль нахождения максимального номера участкаcout<<mm[0]<<' '<<mm[1]<<endl; cin.get(); ifs.close(); return 0;}// выдали на экран номера цеха и участка и после нажатия Enter вышли из программы 

Входной файл c.txt, например, такой:

1 1

1 2

2 3

1 4

2 3

где первое число - номер цеха, второе - номер участка. На экран выдаст 1 4

u6.zip

u6.zip

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

int m[2],mm[2]; m[1]=0; while(!ifs.eof()){ifs>>m[0]>>m[1]; if(m[1]>=mm[1]){mm[0]=m[0]; mm[1]=m[1];}}

Это модуль поиска участка с максимальным номером, он должен быть в файле m.cpp

#include<iostream>#include<fstream>using namespace std;int main(){ifstream ifs("c.txt"); if(ifs.fail()){cerr<<"c.txt"<<" is not exist!"<<endl; getchar(); return 1;}// открыли входной файл c.txt#include "m.cpp"// подключили модуль нахождения максимального номера участкаcout<<mm[0]<<' '<<mm[1]<<endl; cin.get(); ifs.close(); return 0;}// выдали на экран номера цеха и участка и после нажатия Enter вышли из программы 

Входной файл c.txt, например, такой:

1 1

1 2

2 3

1 4

2 3

где первое число - номер цеха, второе - номер участка. На экран выдаст 1 4

Перезалей архив, пожалуйста.

А так, спасибо огромное, Тролль!)

// модуль с функцией сортировки вектора структур пузырьковым методомvoid sort(vector<ts> &v)  {ts st; for(int i=1;i<v.size();i++)for(int j=1;j<v.size();j++)		 if(v[j].m>v[j-1].m){st=v[j]; v[j]=v[j-1]; v[j-1]=st;}}

Это в файле s.cpp

#include<iostream>#include<fstream>#include<vector>#include<string>// подключили библиотекиusing namespace std;// подключили стандартное пространство именstruct ts{int m,b; string r;};// задали структуру данных#include "s.cpp"int main(){ifstream ifs("a.txt"); if(ifs.fail()){cerr<<"f.txt"<<" is not exist!"<<endl; getchar(); return 1;}// открыли входной файлofstream ofs("b.txt");// открыли выходной файлvector<ts> v;  ts st;// объявили вектор структур данных и структуру для временного хранения данныхwhile(!ifs.eof()){ifs>>st.m>>st.b; getline(ifs,st.r,'\n'); v.push_back(st);}// заполнили вектор структур из входного файлаsort(v);// отсортировали векторfor(int i=0;i<v.size();i++){st=v[i]; ofs<<st.m<<' '<<st.b<<' '<<st.r<<endl;}// вывели вектор в выходной файлifs.close(); ofs.close();// закрыли файлы}

Входной файл a.txt вида

1 1 r1

1 2 r1

2 3 r1

1 4 r2

2 4 r2

Тут в каждой строке первое число - номер рейса, второе - номер автобуса, а затем строка с названием района.

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

P.S. Ребята, на кого вы учитесь, если Serty даже компилятором не обзавелся?

И задачи тут однотипные, ничего не стоит по образу и подобию все сделать...

Спасибо большое, Тролль!

Аааа... комп что-то дико лаганул... и не туда сначала написал)

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

Artys

Если "пирамидка" такая, то

const a=1750;var i,j,k,b:integer; x,y:array[1..3]of integer;beginfor i:=1 to 3 do begin write('ball ',i,': x,y: '); readln(x[i],y[i]) end;k:=0; b:=0; j:=0;if (x[1]=x[2])or(y[1]=y[2])then j:=3;if (x[2]=x[3])or(y[2]=y[3])then j:=1;if (x[1]=x[3])or(y[1]=y[3])then j:=2;for i:=1 to 3 do if (y[i]=x[i])or(y[i]=x[i]+a)or(y[i]=a-x[i])or(y[i]=2*a-x[i]) then  if i<>j then inc(k) else b:=1;if j=0 then b:=0;writeln('It is ',b*k,' miraculous balls'); readlnend.

Serty

Перезалить архив? Могу, конечно, но я сейчас его для контроля скачал, распаковал, запустил - все в порядке.

И все же напиши хоть в личку, мне интересно, на кого вы учитесь и как собираетесь сдавать зачеты/экзамены...

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

Помогите сделать в c++

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

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

Artys

Если "пирамидка" такая, то

const a=1750;var i,j,k,b:integer; x,y:array[1..3]of integer;beginfor i:=1 to 3 do begin write('ball ',i,': x,y: '); readln(x[i],y[i]) end;k:=0; b:=0; j:=0;if (x[1]=x[2])or(y[1]=y[2])then j:=3;if (x[2]=x[3])or(y[2]=y[3])then j:=1;if (x[1]=x[3])or(y[1]=y[3])then j:=2;for i:=1 to 3 do if (y[i]=x[i])or(y[i]=x[i]+a)or(y[i]=a-x[i])or(y[i]=2*a-x[i]) then  if i<>j then inc(k) else b:=1;if j=0 then b:=0;writeln('It is ',b*k,' miraculous balls'); readlnend.

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

(p/s это рассчитанные координаты с верными ответами, но помимо них могут быть другие) Заранее спасибо.

Снимок.JPG

post-114546-0-95890400-1337185033_thumb.

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

Artys

но она почему то выдает неверные ответы
Понятно почему. В твоих примерах пирамидки меняют форму. То они вписываются в квадрат, то в прямоугольник 1:2. Я исходил из формы, вписывающейся в прямоугольник, согласно твоему примеру
при координатах (120,3380), (188,3380), (154,3346). -ответ должен быть 1

rainbow012

Откуда берутся значения А и С?

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

@Тролль,

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

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

rainbow012

var i,n:integer; k,s:longint; a,c:array[1..100]of integer;beginwrite('n? '); readln(n); randomize;for i:=1 to n do begin a[i]:=-99+random(199); c[i]:=-99+random(199) end;writeln('A:'); for i:=1 to n do write(a[i]:5); writeln;writeln('C:'); for i:=1 to n do write(c[i]:5); writeln;s:=a[1]*c[1]; k:=s; for i:=2 to n do begin s:=s+a[i]*c[i]; if k<s then k:=s end;writeln; writeln('maximal sum=',k); readlnend.
Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

Войти

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

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

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



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