Атин Опубликовано 22 апреля, 2014 Жалоба Поделиться Опубликовано 22 апреля, 2014 for i:=1 to n-1 do if a[i,j]>m then k:=a[i,j]; А разве тут не m должно быть, а k? Не доправил после копипасты? ага, k, это просто вначале там m было, не до конца исправила (если что, я девушка, просто с акк парня сижу) Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 22 апреля, 2014 Жалоба Поделиться Опубликовано 22 апреля, 2014 (изменено) Поправил. См. предыдущий пост. Не знаю, правильно ли понял критерий седловой точки. Вроде это мин и макс по разным координатам. В заполнении таблицы откомментчено x^2-y^2 для гарантии наличия седловой точки для отладки. Да, и поленился краевую проверку сделать. То есть не ищет сёдел на границе. Изменено 22 апреля, 2014 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
Атин Опубликовано 22 апреля, 2014 Жалоба Поделиться Опубликовано 22 апреля, 2014 (изменено) Поправил. См. предыдущий пост. Не знаю, правильно ли понял критерий седловой точки. Вроде это мин и макс по разным координатам. В заполнении таблицы откомментчено x^2-y^2 для гарантии наличия седловой точки для отладки. Да, и поленился краевую проверку сделать. То есть не ищет сёдел на границе. к сожалению не так 1) массив не должен быть статичным, нам задали обязательное условие, чтобы матрица была любого размера и задавалась пользователем 2) седловая точка - это когда нижняя и верхняя цены игры равны, "отыскание происходит след. образом: в матрице А послед-но в каждой строке находится минимальный элемент и проверяется, является ли этот элемент максимальным в своем столбце. Если да, то он и есть седловой элемент." Надо выписать числами или координатами, иначе - вывести сообщение "Седловых точек нет" 3) нижняя цена игры - в каждом столбце ищется минимальный элемент, из них находится максимальный верхняя цена игры - в каждой строке ищется максимальный элемент, из них находится минимальный Обе надо выписать числом и координатами. Соответственно, если седловая точка одна, то они будут равны. Если седловых точек нет, то цены игры все равно должны быть. Самое обидное, что алгоритм вроде как реализован правильно, но почему-то считает не так как надо Пример: 2 1 10 11 0 -1 1 2 -3 -5 -1 1 Седловой точкой будет: 1 (1-я строка, 2-й столбец) Изменено 22 апреля, 2014 пользователем Атин Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 22 апреля, 2014 Жалоба Поделиться Опубликовано 22 апреля, 2014 (изменено) Тогда так: Лаба3.rar Но какое-то седло странное, не матричное. Имена переменных сделал подлиннее и поосмысленнее, а то путался и массивы динамические, а не фиксированные с запасом. Лаба3.rar Изменено 22 апреля, 2014 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
Атин Опубликовано 24 апреля, 2014 Жалоба Поделиться Опубликовано 24 апреля, 2014 Тогда так: Лаба3.rar Но какое-то седло странное, не матричное. Имена переменных сделал подлиннее и поосмысленнее, а то путался и массивы динамические, а не фиксированные с запасом. спасибо) я поняла почему неправильно считало, у меня он заполнял весь массив до n, и пробегал его также до n, несмотря на то, что сама матрица меньшего размера. Сделала, чтобы считывал Editы и дальше пробегал массивы по ним, все работает) Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 25 апреля, 2014 Жалоба Поделиться Опубликовано 25 апреля, 2014 Здравствуйте! Будь добры, помогите с решением задания, Pascal. Тема: "Создание пользовательских модулей". Ссылка на комментарий Поделиться на другие сайты Поделиться
Кронус Опубликовано 1 мая, 2014 Жалоба Поделиться Опубликовано 1 мая, 2014 Здравствуйте, требуется помощь в написании программы на pascal abc или delphi (как будет удобнее) Условие: на какую высоту поднимется детский резиновый мяч массой m = 500 г и радиусом r = 0.3 м, брошенный вертикально вверх с начальной скоростью v0 = 10 м/с? Ссылка на комментарий Поделиться на другие сайты Поделиться
RusH_Ninja1 Опубликовано 2 мая, 2014 Жалоба Поделиться Опубликовано 2 мая, 2014 Здравствуйте. Помогите срочно, иначе я попал. Задание: Дана матрица из 3 строк и 7 столбцов, соответствующая учетной ведомости материалов: первый элемент каждого столбца должен соответствовать количеству поступившего материала, второй элемент – израсходованную его часть, а третий – остаток. Отпечатать номера тех столбцов, в которых третий элемент не равен разности двух элементов, и число таких столбцов. Язык: Pascal ABC Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 2 мая, 2014 Жалоба Поделиться Опубликовано 2 мая, 2014 (изменено) Здравствуйте, требуется помощь в написании программы на pascal abc или delphi (как будет удобнее) Условие: на какую высоту поднимется детский резиновый мяч массой m = 500 г и радиусом r = 0.3 м, брошенный вертикально вверх с начальной скоростью v0 = 10 м/с? Не очень понятно где тут программирование? v=g*t Отсюда t=v/g. Если g=10 м/c^2, то t=1 c. H=v*t-g*t^2/2. H=10*1-10*1*1/2. H=5 Ответ: 5м Масса и радиус для учета силы Cтокса? :crazy: Изменено 2 мая, 2014 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 2 мая, 2014 Жалоба Поделиться Опубликовано 2 мая, 2014 Здравствуйте! Будьте добры, помогите с решением задания, Pascal. Тема: "Создание пользовательских модулей". Ссылка на комментарий Поделиться на другие сайты Поделиться
Кронус Опубликовано 2 мая, 2014 Жалоба Поделиться Опубликовано 2 мая, 2014 var T : Text; a, b, h, x,m,k2: real; y1, y2, y1_1, y1_2,c,R: real;function F(x, y1, y2, m,k2: real; n:byte):real;begin case n of 1: f:=y2; //см. рис. 1 2: f:=(10*m-k2*y2*y2)/m; end;end;begin assign(T, 'X1.txt'); rewrite(T); a:=0; b:=10; // по Х от 0 до 10 h:=pi/40; // шаг y1:=0; y2:=30; // по У от 0 до 30 m:=0.5; // масса шарика x:=a; c:=0.4; // шар R:=1.293; // плотность воздуха k2:=1/2*c*R ; //см. рис. 2 while(x<=b+h)and (y1>=0) do begin writeln(T, x:10:5, y1:10:5, y2:10:5); y1_1:=y1-h*f(x, y1, y2, m,k2, 1); y1_2:=y2+h*f(x, y1, y2, m,k2, 2); y1:=y1_1; y2:=y1_2; x:=x+h; end;close(T);end. Жаль, но не все так очевидно, прикрепил код с которым начал работать, может кто подскажет как переделать его, здесь программа считает, что тело падает, а не подбрасывается, да и не задается начальная скорость ПС. не обязательно зацикливать программу на поиск именно максимума, можно просто прогнать полет тела при определенной скорости. я в маткаде потом сам определю где максимальное Н. ППС. извиняюсь если прикрепил алгоритм передел которого не подходит для моей задачи, если это так, то просьба сообщить об этом Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 2 мая, 2014 Жалоба Поделиться Опубликовано 2 мая, 2014 Получилось на Дельфи так: 111.rar 111.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
mr__brainwash Опубликовано 9 мая, 2014 Жалоба Поделиться Опубликовано 9 мая, 2014 Здравствуйте, помогите, пожалуйста решить задание (нужно сделать своеобразный калькулятор): есть html страница, в которой подключены файлы скрипта и стиля. Скрипт загружается и подымает DOM, навешанный обработчиками. Естественно, пишется все используя ООП. Калькулятор состоит, как минимум, из нескольких объектов, которые обмениваются между собой событиями. К примеру, есть базовый объект "Кнопка", которую наследует объект "Кнопка 1". Она умеет кидать событие "Click", которое перехватывает некая сущность(пусть будет view), и объект, отрисовавший поле ввода. Получается иерархическая, распределенная модель. Кнопка кидает событие с параметами, оно всплывает, его перехватывают вьюха и кто-то еще. Кнопка - инициатор события, поле ввода только слушает, вьюха тоже слушает и хранит историю, чтобы можно было отменить операцию. И , если задача пойдет легко, можно выполнить это все в диалоге, который тоскается по экрану. Ссылка на комментарий Поделиться на другие сайты Поделиться
Атин Опубликовано 18 мая, 2014 Жалоба Поделиться Опубликовано 18 мая, 2014 Добрый день! Помогите, пожалуйста, дописать программу на Delphi. 1) Ввести p и q в Edit2) Проверить, являются ли они простыми и взаимнопростыми3) Если да, вывести на экран FF(n)=(p-1)(q-1),если нет, вывести сообщение "числа не являются простыми и взаимнопростыми"4) Ввести d<FF(n) в Edit5) Проверить, действительно ли оно меньше, если нет вывести сообщение "введите другое число"6) Если да, сгенерировать Открытый ключ KR=(d,n)7) Сгенерировать Закрытый ключ KU=(e,n)8) Вывести оба ключа в Memo"Открытый ключ KR=(d,n) Закрытый ключ KU=(e,n)"Ест 2 файла - pascal и delphi. По сути, надо как-то вставить выделенный кусок из паскалевского документа в делфи.Заранее благодарю. Нужно к понедельнику.RSA.rar RSA.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
skarlet Опубликовано 25 июня, 2014 Жалоба Поделиться Опубликовано 25 июня, 2014 Здравствуйте,помогите пожалуйста здавать завтра Задача в с++ замечена следующая закономерность: 9*1+2=11 9*12+3=111 9*123+4=1111 9*1234+5=11111 в качестве исходных данных завать количество строк вычислений. Нарисуйте пожалуйста блок-схему к данной задаче. Ссылка на комментарий Поделиться на другие сайты Поделиться
Nikita Skokov Опубликовано 24 июля, 2014 Жалоба Поделиться Опубликовано 24 июля, 2014 (изменено) Задание такое:Разработать структуру по имени car которая будит хранить название производителя и год выпуска автомобиля. Необходимо написать программу которая запросит пользователя сколько авто включить в каталог? Затем программа должна применитьnew для создания динамического массива структур car. Далее она должна пригласить пользователя ввести производителя и год, для наполнения данными каждой структуры в массиве. И наконец, она должна отобразить содержимое каждой структуры.Вот собственно что я написал Код C++ #include <iostream>#include <string>using namespace std;struct car{ string name; int year;};int main() { cout << "Skolko avtomobilei pomestit v katalog? "; int n; cin >> n; cin.get(); car *p_car = new car; for (int i=1; i<=n; i++) { cout << "Avtomobil #" << i << ":" << endl; cout << "Vvedite proizvoditelya: " << endl; getline (cin, p_car->name); cout << "Ukahzite god vipuska: " << endl; cin >> p_car->year; cin.get(); } cout << "Vot vasha kollekciya: " << endl; cout << << endl; delete [] p_car; return 0;} А как отобразить содержимое каждой структуры никак не могу понять. Может кто объяснит, пожалуйста Изменено 24 июля, 2014 пользователем Nikita Skokov Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 24 июля, 2014 Жалоба Поделиться Опубликовано 24 июля, 2014 #include <iostream> #include <iomanip> #include <string> using namespace std; struct car{string name; int year;}; int main(){ int n; cout<<"Skolko avtomobilei pomestit v katalog? "; cin>>n; car *p_car=new car[n]; cin.get(); cout<<'\n'; for(int i=0;i<n;i++){ cout<<"Avtomobil #"<<i+1<<":\n"; cout<<" Proizvoditel: "; getline(cin,p_car.name); cout<<" God vipuska: "; cin>>p_car.year; cin.get();} cout<<"\nProizvoditel God vipuska:\n\n"; for(int i=0;i<n;i++) cout<<setw(30)<<left<<p_car.name<<p_car.year<<'\n'; delete []p_car; cout<<"\nNazhmite Enter dlja vihoda\n"; cin.get();} 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Nikita Skokov Опубликовано 25 июля, 2014 Жалоба Поделиться Опубликовано 25 июля, 2014 Тролль, спасибо большое Ссылка на комментарий Поделиться на другие сайты Поделиться
Nikita Skokov Опубликовано 30 июля, 2014 Жалоба Поделиться Опубликовано 30 июля, 2014 Задача№6. Постройте программу, которая отслеживает пожертвования в Общество Защиты Влиятельных Лиц. Она должна запрашивать у пользователя количество меценатов, а затем приглашать вводить их имена и суммы пожертвований от каждого. Информация должна сохраняться в динамически выделяемом массиве структур. Каждая структура должна иметь два члена: символьный массив (или объект string) для хранения имени и переменную-член типа double — для хранения суммы пожертвования. После чтения всех данных программа должна отображать имена и суммы пожертвований тех, кто не пожалел $10 000 и более. Этот список должен быть озаглавлен меткой "Grand Patrons". После этого программа должна выдать список остальных жертвователей. Он должен быть озаглавлен "Patrons". Если в одной из двух категорий не окажется никого,программа должна напечатать "none". Помимо отображения двух категорий,никакой другой сортировки делать не нужно. Это я сделал так: #include <iostream>#include <string>using namespace std;struct patron { string name; double donation;};int main(){ int n; cout << "Vvedite kolichestvo mecenatov: " << endl; cin >> n; cin.get(); patron * p_patron = new patron [n]; for (int i = 0; i < n; i++) { cout << "Mecenat #" << i+1 << endl; cout << "Vvedite imya " << endl; getline (cin, p_patron[i].name); cout << "I summu pozhertvovanii " << endl; cin >> p_patron[i].donation; cin.get(); } cout << "Vznosi bolshe 10000." << endl; int countgp = 0; for (int j = 0; j < n; j++) { if (p_patron[j].donation >= 10000) { cout << p_patron[j].name << " - " << p_patron[j].donation << endl; countgp++; } } if (countgp == 0) cout << "none" << endl; cout << endl; cout << "Ostalnie." << endl; int countp = 0; for (int k = 0; k < n; k++) { if (p_patron[k].donation < 10000) { cout << p_patron[k].name << " - " << p_patron[k].donation << endl; countp++; } } if (countp == 0) cout << "none" << endl; delete [] p_patron; return 0;} ну тут вроде все нормально работает. Задача№9. Выполните упражнение 6, но измените его так, чтобы данные можно было получать из файла. Первым элементом файла должно быть количество меценатов,а остальная часть состоять из пар строк, в которых первая строка содержит имя, а вторая — сумму пожертвования. То есть файл должен выглядеть примерно так:4Sam Stone2000Freida Flass100500Tammy Tubbs5000Rich Raptor55000 #include <iostream>#include <string>#include <fstream>#include <cstdlib> //для exit(EXIT_FAILURE)using namespace std;struct patron { string name; double donation;};int main(){ string filename;fstream file; cout << "Enter name of the file: "; getline(cin, filename); file.open(filename); //вот здесь ругается if (!file.is_open()) { cout << "Could not open the file" << filename << "." << endl; exit(EXIT_FAILURE); } int n; (file >> n).get(); patron * p_patron = new patron[n]; cout << "Reading the information about patrons." << endl; for (int i = 0; i < n; i++) { cout << "Maecenas #" << i+1 << endl; cout << "Enter name " << endl; getline(file, p_patron[i].name); cout << "and the amount of donations " << endl; (file >> p_patron[i].donation).get(); } file.close(); cout << "Grand Patrons." << endl; int countgp = 0; for (int j = 0; j < n; j++) { if (p_patron[j].donation >= 10000) { cout << p_patron[j].name << " - " << p_patron[j].donation << endl; countgp++; } } if (countgp == 0) cout << "none" << endl; cout << endl; cout << "Patrons." << endl; int countp = 0; for (int k = 0; k < n; k++) { if (p_patron[k].donation < 10000) { cout << p_patron[k].name << " - " << p_patron[k].donation << endl; countp++; } } if (countp == 0) cout << "none" << endl; cin.get(); return 0;} Почему в 19-ой строке выдает ошибку не могу понять? Пишет вот это: [Error] no matching function for call to 'std::basic_fstream<char>::open(std::string&)' [Note] candidate is: [Note] void std::basic_fstream<_CharT, _Traits>::open(const char*, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; std::ios_base::openmode = std::_Ios_Openmode] [Note] no known conversion for argument 1 from 'std::string {aka std::basic_string<char>}' to 'const char*' Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 3 августа, 2014 Жалоба Поделиться Опубликовано 3 августа, 2014 Замени file.open(filename); на file.open(filename.c_str()); И надо будет удалить из программы еще подсказки на ввод, которые при вводе данных из файла будут не нужны. Ссылка на комментарий Поделиться на другие сайты Поделиться
Nikita Skokov Опубликовано 4 августа, 2014 Жалоба Поделиться Опубликовано 4 августа, 2014 Замени file.open(filename); на file.open(filename.c_str()); Спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Nikita Skokov Опубликовано 27 августа, 2014 Жалоба Поделиться Опубликовано 27 августа, 2014 #include <iostream>const int Max = 5;// function prototypesint fill_array(double ar[], int limit);void show_array(const double ar[], int n); // don't change datavoid revalue(double r, double ar[], int n);int main(){ using namespace std; double properties[Max]; int size = fill_array(properties, Max); show_array(properties, size); if (size > 0) { cout << "Enter revaluation factor: "; double factor; while (!(cin >> factor)) // bad input { cin.clear(); while (cin.get() != '\n') continue; cout << "Bad input; Please enter a number: "; } revalue(factor, properties, size); show_array(properties, size); } cout << "Done.\n"; // cin.get(); // cin.get(); return 0;}int fill_array(double ar[], int limit){ using namespace std; double temp; int i; for (i = 0; i < limit; i++) { cout << "Enter value #" << (i + 1) << ": "; cin >> temp; if (!cin) // bad input { cin.clear(); while (cin.get() != '\n') continue; cout << "Bad input; input process terminated.\n"; break; } else if (temp < 0) // signal to terminate break; ar[i] = temp; } return i;}// the following function can use, but not alter,// the array whose address is arvoid show_array(const double ar[], int n){ using namespace std; for (int i = 0; i < n; i++) { cout << "Property #" << (i + 1) << ": $"; cout << ar[i] << endl; }}// multiplies each element of ar[] by rvoid revalue(double r, double ar[], int n){ for (int i = 0; i < n; i++) ar[i] *= r;} Имеется код. Нужно заменить три функции обработки массивов версиями, которые работают с диапазоном значений заданными парой указателей. Функция fill_array() должна возвращать указатель на место, следующее за последним введенным элементом; прочие функции должны использовать его в качестве аргумента для идентификации конца диапазона данных. Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 31 августа, 2014 Жалоба Поделиться Опубликовано 31 августа, 2014 (изменено) Nikita Skokov #include <iostream>using namespace std;const int Max=10;// function prototypesdouble *fill_array(double ar[], int limit);void show_array(double *pb, double *pe);void revalue(double r, double *pb, double *pe);int main(){double properties[Max+1], *pb=properties, *pe;pe=fill_array(pb,Max);show_array(pb, pe);if(pe>pb){ cout<<"Enter revaluation factor: "; double factor; while(!(cin>>factor)){ cin.clear(); while (cin.get()!='\n')continue; cout<<"Bad input; Please enter a number: ";} revalue(factor, pb, pe); show_array(pb, pe);}cout << "Done.\n"; cin.get(); cin.get();}double *fill_array(double ar[], int limit){double temp; int i;for(i=0;i<limit;i++){ cout<<"Enter value #"<<(i+1)<<": "; cin>>temp; if(!cin){ cin.clear(); while (cin.get()!='\n')continue; cout<<"Bad input; input process terminated.\n"; break;} else if(temp<0)break; ar[i]=temp;}return &ar[i+1];}void show_array(double *pb, double *pe){ for(double *p=pb;p<pe-1;p++) cout<<"Property #"<<p-pb+1<<": $"<<*p<<endl;}// multiplies each element of array by rvoid revalue(double r, double *pb, double *pe){ for(double *p=pb;p<pe-1;p++)*p*=r;} Изменено 31 августа, 2014 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
merody Опубликовано 19 октября, 2014 Жалоба Поделиться Опубликовано 19 октября, 2014 Добрый день)нужна ваша помощь 1. Создать, откомпилировать и выполнить Java-приложение, которое вычисляет сумму, произведение и среднее значение трех целочисленных переменных, введенных пользователем. 2. Создать, откомпилировать и выполнить Java-приложение, которое создает объект класса Point с координатами, заданными пользователем, а затем смещает точку на расстояние указанное пользователем. Среда разработки IDE Netbeans Ссылка на комментарий Поделиться на другие сайты Поделиться
konfetka12 Опубликовано 24 октября, 2014 Жалоба Поделиться Опубликовано 24 октября, 2014 Здравствуйте, прошу помощи с параллельными вычислениями, нужно выполнить задания с помощью потоковЗадание 1.Напишите параллельную программу, реализующую скалярное произведение двух векторов.Задание 2.Напишите параллельную программу, реализующую поиск максимального значения вектора.Задание 3.Напишите параллельную программу, реализующую транспонирование матрицы n×n. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти