TWINc

Помощь в решении заданий по программированию.

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

Уже несколько сред Borland PAscal, все равно "file not found". Может быть я в написании самой программы ошибаюсь? ( в прикрепленом файле полное задание) .

А вот код:

Program firstformula;
uses wincrt, math;
var b, c, m, t ,z, f, cos, sin, g: real;
 begin
   Writeln ('Vicheslenie');
 Write ('Vvedite 3na4enie g: ');
 Read (g);
 m:=2;
 b:=0.7;
 c:=-1;
 t:=1;
 z:=m*cos(b*t*sin(t))+c;
 writeln ('z=', m*cos(b*t*sin(t))+c);
 Writeln ('f=', sqrt(m*t*g*(t+z)+abs(c*sin(t)));
end.

Теперь все ясно, такого даже я не ожидал. Ну да ладно обясню. Компилятор ругается, и абсолютно прав, на то что ты пытаешься переопределить функции как переменные. Убери из объявления переменных sin и cos. И запомни, что не стоит выбирать имена зарезервированных слов.

 

вот так будет работать

Program firstformula;
USes crt, math;
var b, c, m, t ,z, f, g: real;
begin
Writeln ('Vicheslenie');
  Write ('Vvedite 3na4enie g: ');
	Readln (g);
	m:=2;
	b:=0.7;
	c:=-1;

	t:=1;
	z:=m*cos(b*t*sin(t))+c;
	Writeln('z=',z);
	f:=sqrt( ( m*t*g*(t+z)+abs(c*sin(t)) ) );
	  Writeln ('f=', f );
	  readln;
	  end.

 

Ну вроде по моим подсчетам программа верно решает :rolleyes: Большое спасибо <_< Завтра попробую сдать преподу.

Поделиться сообщением


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

Здрасти Всем! ) Хочу проконсультироваться по давно интересующему меня вопросу, но ранее не касавшемуся меня. Хотелось бы узнать, каков максимальный размер массива(стат.) в Си/Си++? Не размерность, а именно размер, длина, число элементов в массиве. Потребность в ответе возникла после неудач в обработке огромных массивов данных(до 100 млн. элементов). Я конечно понимаю, что все можно разбить по частям, но неужели в Си кол-во элементов в массве float A[ i ] i не превышает ~ 300000 (i~<=300000)? Или я просто не до конца понимаю тему массивов?

С динамическими такого еще не пробовал, хотя есть подозрения, что там это ограничение снимается.

 

Буду благодарен за ответ!

Поделиться сообщением


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

Кто знает как за один раз переименовать группу слов. Например в тексте у меня есть 50 слов "Палата" и мне надо чтобы эти слова поменялись на "Палата1" "Палата2" "Палата3" и так далее. А то надо изменить 1000 слов парится долго.

Ну или скрипт какой нить на Паскале или чем то еще написать бы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Кто знает как за один раз переименовать группу слов. Например в тексте у меня есть 50 слов "Палата" и мне надо чтобы эти слова поменялись на "Палата1" "Палата2" "Палата3" и так далее. А то надо изменить 1000 слов парится долго.

Ну или скрипт какой нить на Паскале или чем то еще написать бы

Регулярные выражения великая сила

Поделиться сообщением


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

товарищи, нужна помощь. Пробовал решать рекурсией, но понял что это тупик.

Итак задача динамического программирования .

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

Поделиться сообщением


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

Помогите пожалуйста решить задачки, нужно написать програмку на С++ :). Задачки простенькие... просто сам не очень разбираюсь :P

 

Карандаши. Какова стоимость покупки K карандашей по цене Pk копеек и T тетрадей по цене, в N раз дороже цены карандаша, а также общее количество купленных предметов.
Для формулы составить программу построения таблицы значений функции при изменении аргумента от L до R с шагом T. В каждой строке выводить значения аргумента и соответствующее ему значение функции в форматированном виде с 4 знаками после запятой. Кроме того, в конце таблицы напечатать отдельной строкой следующее:

 

Сумму таких значений функции, которые больше числа M.

 

Y=1.2*x-8*x+sqr(x+1)+3 | L=-1, R=4

 

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

Изменено пользователем Jarwis

Поделиться сообщением


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

Помогите кто-нибудь пожалуйста исправить ошибку, которая возникает при компиляции следующего кода:

#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <string.h>
class Fun
{
double x,y,z;
char *point;
unsigned size;
public:
//конструктор с параметрами
Fun (unsigned s,char *c,double X=0,double Y=0,double Z=0);
//конструктор по умолчанию
Fun ();
//перегрузка оператора =
Fun& operator = (Fun const &);
//конструктор для копирования
Fun (Fun const &);
//деструктор
~Fun()
{
cout<<"Destroed object..."<<endl;
}
//переустановка элеиентов
void  set (unsigned s,char *c,double X,double Y,double Z);
//ф-ия печати
void print();
double funy(double x,double y,double z);
};
//описание конструктора с параметрами
Fun::Fun (unsigned s,char *c,double X,double Y,double Z)
{
cout<<"Constructor1...."<<endl;
point = new char[(size = s)+1];
strcpy(point,c);
x=X;
y=Y;
z=Z;
};
//описание конструктора по умолчанию
Fun::Fun ()
{
cout<<"Constructor2...."<<endl;
point=" then Function =";
x=3.251;
y=0.325;
z=0.466*pow(10,-4);
};
//описание оператора "="
Fun& Fun::operator = (Fun const & a)
{
if (this !=&a)   //проверка, не указывает ли указатель сам на себя
{
 cout<<"Operator="<<endl;
 delete [] point;	 //освобождение старой памяти
 point=new char[size=a.size]; //выделение новой памяти
 x=a.x;
 y=a.y;
 z=a.z;
}
return *this;
};
//описание конструктора для копирования
Fun::Fun(Fun const & a)
{
cout<<"Constructor for copy..."<<endl;
point = new char[(size=a.size)+1];
strcpy(point,a.point);
x=a.x;
y=a.y;
z=a.z;
};
//описание функции print
void Fun::print()
{
cout<<"x = "<<x<<"  y = "<<y<<"  z = "<<z<<"  "<<point<<funy(x,y,z)<<endl;
};
//описание функции переустановки элементов
void  Fun::set (unsigned s,char *c,double X,double Y,double Z)
{
cout<<"Set...."<<endl;
delete[] point;
point=new char[(size=s)+1];
strcpy (point,c);
x=X;
y=Y;
z=Z;
};
double Fun::funy(double x,double y,double z)
{
return(
pow(2, pow(y,x))+ pow(3,pow(x,y)) - y* (atan((z-3,14/6)))/(x+1/pow(y,2)+1)
);
};
void main()
{
Fun Fun1(13,"Function1 = ",1.0,1.0,1.0);
Fun1.print();
getch();
Fun1.set(13,"Function1 = ",1.1,1.3,3.2);
Fun1.print();
getch();
Fun Fun2=Fun(13,"Function2 = ",1.0,2.3,4.0);
Fun2.print();
Fun2=Fun1;
Fun2.print();
getch();
Fun Fun3;
Fun3.print();
getch();
}

Вот ошибка post-263802-1256043996_thumb.jpg

Поделиться сообщением


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

Может просто надо консольное приложение создать? Это ж консольное а откуда-то ссылка на VCL или что-то с этим связанное взялась.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Может просто надо консольное приложение создать? Это ж консольное а откуда-то ссылка на VCL или что-то с этим связанное взялась.
Я когда указывал, что это console wizard, не убрал галочку use VCL - вот он и ругался. Спасибо, что указали на ошибку при создании file. B)

Поделиться сообщением


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

Итак задача динамического программирования .

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

Ну как говорится, строим математическую модель, алгоритм (блок-схему) и выкладываем.

У вас, скорее, алгоритмическая ошибка какая-то.

Поделиться сообщением


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

Итак задача динамического программирования .

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

Так как смотрю тут появились советчики, которые "насоветуют". Вмешаюсь и я. Динамическое программирование это не совсем то что принято понимать как программирование. Это область знаний математики и комбинаторики. Такие задачи не решаются в лоб, как вы пытаетесь. Есть такие книги Динамическое программирование, Программирование для математиков, Математическое программирование. В них рассматриваются подобные задачи. Также можно найти в книгах Кнута. Судя по условию этой задачи подразумевается решение с помощью графов. Так как сам не специалист в этой области более советов не даю, надеюсь - что это достаточная точка для отправления.

Поделиться сообщением


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

Итак задача динамического программирования .

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

Так как смотрю тут появились советчики, которые "насоветуют". Вмешаюсь и я. Динамическое программирование это не совсем то что принято понимать как программирование. Это область знаний математики и комбинаторики. Такие задачи не решаются в лоб, как вы пытаетесь. Есть такие книги Динамическое программирование, Программирование для математиков, Математическое программирование. В них рассматриваются подобные задачи. Также можно найти в книгах Кнута. Судя по условию этой задачи подразумевается решение с помощью графов. Так как сам не специалист в этой области более советов не даю, надеюсь - что это достаточная точка для отправления.

спасибо. скачал пару тройку книг... сегодня буду разбираться чего да к чему

Поделиться сообщением


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

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

Нужна срочная помощь от знатоков С\С++ (а лучше в кодерстве на них под UNIX).

Задача такова: нужно напистаь прогу, которая будет переводить текстовый файл из формта UNIX в формат DOS и наоборот, то есть добавлять или удалять '\r' после '\n'. Я прекрасно понимаю, какой алгоритм должен быть у программки (попробую его описать чуть ниже), но так как кодером не являюсь, напистаь мне такое довольно-таки сложно... Прошу помочь! Желательно к 11:00 завтрашнего дня (26 октября 2009 года).

 

Моё понимания алгоритма проги:

При запуске проги - экран с выбором что во что конвертить (UNIX -> DOS или DOS -> UNIX) и нулевым выбором (exit)

При выборе варианта пользователь задаёт путь к файлу и выполняется прога:

а) UNIX - > DOS: fseek (или lseek) ищет по файлу '\n' и меняет их на '\n\r' до тех пор пока не кончится файл (как я понимаю, тут нужно юзать do while (файл по умолчанию текстовый, так что каких-либо дополнительных проверок поидее не нужно). После конца файла на экран выводится сообщение об успешной замене и, желательно (но не обязательно) количество замен.

б) DOS -> UNIX: fseek (или lseek) ищет по файлу '\r' и либо удаляет либо заменяет на пробел (для просмотровщиков это не будет играть осбой роли, но лучше, конечно же, удаление). Опять-таки, замена происходит до конца файла, а по окончании должно быть уведомление об успешной замене.

В любом случае после уведомления и нажатие пользователем на любую клавишу - возврат в главное меню.

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

 

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

Поделиться сообщением


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

Simbiat, возьми готовую и поменяй заголовки.

Изменено пользователем Linus Redhat

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Simbiat, возьми готовую и поменяй заголовки.

404 пишет =(

Изменено пользователем Simbiat

Поделиться сообщением


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

у меня вопрос по использованию openGL в Delphi 7. мне нужно отобразить пятно пересечения двух фигур, иными словами есть полупрозрачный цилиндр и куча тонких цилиндров внутри него, в момент когда "тонкие" пересекают "полупрозрачный", их нужно этим полупрозрачным цилиндром обрезать и если есть такая возможность выделить цветом контур пересечения. буду очень признателен за любые советы.

Поделиться сообщением


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

Нужно копать в сторону трафаретов. Есть такой буфер трафарета, позволяет создавать различные эффекты: тени, отражения и т.п. Сам в этом мало разбираюсь, большего не скажу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Здраствуйте!

Нужна срочная помощь от знатоков С\С++ (а лучше в кодерстве на них под UNIX).

Задача такова: нужно напистаь прогу, которая будет переводить текстовый файл из формта UNIX в формат DOS и наоборот, то есть добавлять или удалять '\r' после '\n'. Я прекрасно понимаю, какой алгоритм должен быть у программки (попробую его описать чуть ниже), но так как кодером не являюсь, напистаь мне такое довольно-таки сложно... Прошу помочь! Желательно к 11:00 завтрашнего дня (26 октября 2009 года).

 

Моё понимания алгоритма проги:

При запуске проги - экран с выбором что во что конвертить (UNIX -> DOS или DOS -> UNIX) и нулевым выбором (exit)

При выборе варианта пользователь задаёт путь к файлу и выполняется прога:

а) UNIX - > DOS: fseek (или lseek) ищет по файлу '\n' и меняет их на '\n\r' до тех пор пока не кончится файл (как я понимаю, тут нужно юзать do while (файл по умолчанию текстовый, так что каких-либо дополнительных проверок поидее не нужно). После конца файла на экран выводится сообщение об успешной замене и, желательно (но не обязательно) количество замен.

б) DOS -> UNIX: fseek (или lseek) ищет по файлу '\r' и либо удаляет либо заменяет на пробел (для просмотровщиков это не будет играть осбой роли, но лучше, конечно же, удаление). Опять-таки, замена происходит до конца файла, а по окончании должно быть уведомление об успешной замене.

В любом случае после уведомления и нажатие пользователем на любую клавишу - возврат в главное меню.

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

 

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

 

 

UP!

Поделиться сообщением


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

Ребята горю. помогите пожалуйста! очень надо.

 

паскаль

 

написать программу которая высчитывает сумму элементов матрицы 4*4 ниже главной диагонали. помогите пожалуйста

Поделиться сообщением


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

Чё-то я плохо себе представляю как можно НЕ написать такую элементарную программу. Типа занялся программированием но оказалось что хочешь стать поэтом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Чё-то я плохо себе представляю как можно НЕ написать такую элементарную программу. Типа занялся программированием но оказалось что хочешь стать поэтом?

Поэт и программист это родственные профессии - и тот и другой составляют нечто из ничего.

А насчет не смог написать, - очередной двоечник полагаю (ссесия)

Поделиться сообщением


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

Доброго времени суток, Господа программисты.

Первый год изучаю Паскаль (в школе вместо того чтобы обучать паскалю, учили работать в Microsoft Office)

Разбираться стал) но плохо...)

Помогите, если вас не затруднит решить пару задачек:

1. Дана матрица размера M*N - поменять местами строки, содержащие минимальный и максимальный элементы.

2. Дано зашифрованное предложение на русском языке. Известен способ шифрования (замена каждой буквы на следующую, стоящую за ней, в алфавите, при сохранении регистра букв). Расшифровать предложение.

3. Построить Кривую Леви... (ей я как раз сейчас и занимаюсь)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Доброго времени суток, Господа программисты.

Первый год изучаю Паскаль (в школе вместо того чтобы обучать паскалю, учили работать в Microsoft Office)

Разбираться стал) но плохо...)

Помогите, если вас не затруднит решить пару задачек:

1. Дана матрица размера M*N - поменять местами строки, содержащие минимальный и максимальный элементы.

2. Дано зашифрованное предложение на русском языке. Известен способ шифрования (замена каждой буквы на следующую, стоящую за ней, в алфавите, при сохранении регистра букв). Расшифровать предложение.

3. Построить Кривую Леви... (ей я как раз сейчас и занимаюсь)

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

Поделиться сообщением


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

program Levy;

 

uses CRT, Graph;

 

const

p = 12;

 

var

gd, gm: Integer;

i, j: Integer;

x, y, l: Real;

a: Real;

n, m, k: Integer;

 

begin

gd := Detect;

InitGraph(gd, gm, 'с:\bp\bgi');

x := 230;

y := 190;

l := 4;

MoveTo(Round(x), Round(y));

for i:=0 to Round(exp(p*ln(2))) -1 do

begin

a := 0;

n := i;

m := 0;

k := 0;

repeat

m := n mod 2;

n := n div 2;

case m of

0: a := a + pi/4;

1: a := a-pi/4

end;

inc(k);

until k>=p;

x := x + l*cos(a);

y := y + l*sin(a);

LineTo(Round(x), Round(y));

end;

ReadKey;

CloseGraph;

end.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
program Levy;

 

uses CRT, Graph;

 

const

p = 12;

 

var

gd, gm: Integer;

i, j: Integer;

x, y, l: Real;

a: Real;

n, m, k: Integer;

 

begin

gd := Detect;

InitGraph(gd, gm, 'с:\bp\bgi');

x := 230;

y := 190;

l := 4;

MoveTo(Round(x), Round(y));

for i:=0 to Round(exp(p*ln(2))) -1 do

begin

a := 0;

n := i;

m := 0;

k := 0;

repeat

m := n mod 2;

n := n div 2;

case m of

0: a := a + pi/4;

1: a := a-pi/4

end;

inc(k);

until k>=p;

x := x + l*cos(a);

y := y + l*sin(a);

LineTo(Round(x), Round(y));

end;

ReadKey;

CloseGraph;

end.

 

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

 

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

Поделиться сообщением


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

 

 

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

потом так же рассмотреть оставшиеся строки, и самый маленький элемент - будет минимальным.

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

 

Вот использовать строки или массив я ненаю. Понять то могу, а реализовать фантазии нехватает.

Поделиться сообщением


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

 

 

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

потом так же рассмотреть оставшиеся строки, и самый маленький элемент - будет минимальным.

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

 

Вот использовать строки или массив я ненаю. Понять то могу, а реализовать фантазии нехватает.

ок. На паскале (да и вообще везде) метод нахождение максимального или минимального элемента для вектора (тоже самое что массив размерности N) выглядит так

пусть max - это максимальное значение тогда

присвоим мах значение первого элемента массива пусть это будет массив а

=>

max:=a[i];
//организуем цикл который обойдет все значения массива и будет проверять является ли данное значения больше максимального, если так то мы будем присваивать //переменной max - новое значение
for i:=0 to N do
begin
if (a[i]>max) then max:=a[i];
end;

Это все, теперь предлагаю вам сделать тоже самое но для массива M*N

Поделиться сообщением


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

помогу сделать курсовую или диплом по темам так или иначе связанным с программированием, быстро и дешево(не всегда дешево хД )...пишите в аську или в личку!

Поделиться сообщением


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

Ребят, помогите написать задачку на Visual C++

 

Задача

 

Написать и протестировать функцию, которая по заданной строке str, формирует новую строку, состоящую только из цифр, входящих в str.

 

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

Поделиться сообщением


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

Здравствуйте ! Помоги те пожалуйста доделать задание по информатике в VBA .

1) Необходимо сформировать матрицу случайных чисел Х,

распределенных равномерно в диапазоне [Д1;Д2] (сделанно).

2) провести фильтрацию полученных чисел Х по фильтру : X не принадлежит [MAX\3;MAX];(сделанно)

3) заполнить квадратную матрицу размерности К (вводится с клавиатуры) числами, полученными после фильтра.

4) Упорядочить полученную матрицу по спирали, спираль закручненна по часовой стрелке .

 

2 последних пункта никак не могу осилить B) в информатике не шарю ничего обсалютно :)

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

Поделиться сообщением


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас