ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1491  
Старый 27.05.2009, 22:55
Аватар для Agregat
Agregat
Новичок
Регистрация: 15.05.2009
Сообщений: 11
Провел на форуме:
7498

Репутация: 0
По умолчанию

Сегодня, 20:17
Забыл сказать - язык C/C++
 
Ответить с цитированием

  #1492  
Старый 28.05.2009, 13:15
Аватар для Fata1ex
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Agregat, stream.ifolder.ru/12341557

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

  #1493  
Старый 29.05.2009, 07:55
Аватар для Validol
Validol
Участник форума
Регистрация: 15.12.2006
Сообщений: 212
Провел на форуме:
587761

Репутация: 144
По умолчанию

Использование структур.
Цитата:
Сформировать массив, содержащий сведения о том, какие из пяти предлагаемых дисциплин по выбору желает изучать студент. Комбинированный тип содержит поля: фамилия студента, индекс группы, пять дисциплин, средний балл успеваемости. Выбираемая дисциплина отмечается символом 1, иначе - пробелом.
Написать программу, которая печатает список студентов, желающих прослушать дисциплину X. Если число желающих превышает 4 человека, то отобрать студентов, имеющих более высокий средний балл успеваемости.
Использование строк.
Цитата:
Дана строка слов, разделенных пробелами и запятыми. Подсчитайте количество подстрок (заключенных между запятыми) в строке. Определите длину самого короткого слова.
С++
Благодарю заранее.
 
Ответить с цитированием

  #1494  
Старый 29.05.2009, 17:00
Аватар для Fata1ex
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

1.

Код:
struct Student {
private :
	string LastName;
	int GroupNum;
	int Point;
	int Subj[5];
public : 
	/*
	 Student();
	
	 Геттеры и сеттеры

	 void SetLastName(string inLastName);
	 void SetGroupNum(int inGroupNum);
	 void SetPoint(int inPoint);
	 void SetSubj(int inSubj[5]);
	 string GetLastName(Student inStudent);
	 int GetGroupNum(Student inStudent);
	 int GetPoint(Student inStudent);
	 int GetSubj(Student inStudent);

	 void display(Student inStudent);
	 */
};

/*
Student::Student() {
	LastName = "";
	GroupNum = 100;
	Point = 0;
	Subj[5] = {0, 0, 0, 0, 0};
}
*/

/* Отображение информации о студенте

void display(Student inStudent) {
	cout << inStudent.GetLastName() << " " <<
		    inStudent.GetGroupNum() << endl;
}
*/


int main () {

	// Получаем или заводим данные о студентах (массив структур) Student Students[N]
	// Получаем дисциплину для выбора студентов (у нее есть номер, которому соответствует 
	//                                           позиция в Subj[5]) пусть это номер p 
	// Заводим новый массив пустой массив студентов. Student StudentsOk[N]
	// Для студентов с нужной нам дисциплиной.

	int k = 0;
	for (int i=0; N; i++) { // Где N - количество студентов 
		if (Students[i].GetSubj[p]())
			StudentsOk[k] = Students[i];

		if (k > 3) { // Если студентов больше 4, сортируем массив подходящих студентов
				Student temp;
			for (int j=0; N-1; j++) {
				for (i=0;N-1;i++) {
					if (StudentsOk[i].GetPoint()> StudentsOk[i+1].GetPoint()) {
						temp = StudentsOk[i];
						StudentsOk[i] = StudentsOk[i+1];
						StudentsOk[i+1] = temp;
					}}}
			for (i=0; 4; i++) 
				StudentsOk[i].display(); 
		}
					// Если их меньше 4, выводим
		else 
			for (i=0; k; i++) 
				StudentsOk[i].display();
2.

Код:
// Наша строка - Str
	
	int p,min=0; 
	int k=0; // С его помощью посчитаем количесвто подстрок
	int Min[strle(Str)]={0}; // С его - самое короткое слово
	
for (int i=0; strlen(Str); i++) {
	if (s[i]!=',') {
		if (s[i]!=' ') 
			Min[p]++; 
		else p++ 
		} 
	else k++; }
	
	for (i=0; p; i++) 
		if (Min[i]<min) min=Min[i];
	
		// Осталось только рассмотреть крайнии случаи, когда запятые по краям
	
		cout << "Количество подстрок: " << k+1 << endl; 
		cout << "Длина самого короткого слова: " << min;
Писал прям здесь, поэтому криво, но думаю, что главное идея, остальное сам добавишь.

Последний раз редактировалось Fata1ex; 29.05.2009 в 20:34..
 
Ответить с цитированием

  #1495  
Старый 29.05.2009, 17:20
Аватар для oleandr
oleandr
Флудер
Регистрация: 27.04.2009
Сообщений: 4,294,967,295
Провел на форуме:
32025

Репутация: 2


По умолчанию

ап хотя бы просто объясните как это проделать
 
Ответить с цитированием

  #1496  
Старый 30.05.2009, 00:11
Аватар для scrat
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

Я конечнно понимаю, что задача именно в изучении формулы тейлора, но:

1. x87 FPU считает cos за одну комманду
2. Ассемблер не лучший язык для написания формулы тейлора.
 
Ответить с цитированием

  #1497  
Старый 30.05.2009, 00:58
Аватар для oleandr
oleandr
Флудер
Регистрация: 27.04.2009
Сообщений: 4,294,967,295
Провел на форуме:
32025

Репутация: 2


По умолчанию

да уж преподу это скажи моему дал такое задание нуна написать к понедельнику, сдам и у меня как раз будет балов чтобы не сдавать экзамен ))
 
Ответить с цитированием

  #1498  
Старый 30.05.2009, 07:13
Аватар для megapr3v3d
megapr3v3d
Познающий
Регистрация: 01.10.2007
Сообщений: 54
Провел на форуме:
291096

Репутация: 2
По умолчанию

Помогите составить блок-схемы для подпрограмм - Метод Дихотомия и Метод Трапеций

Цитата:

#define _USE_MATH_DEFINES
#include <cmath>
#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;
const double A = 0.7; //константы, даны по условию задачи
const double B = 0.3;
const double bm_step = 0.001; //шаг
double bm;
double F(double y) //подынтегральная функция
{
return sqrt(fabs(A*exp(-(y*y)) + B*exp(-(y/2)) - bm));
}


//
//
//Вычисление интеграла МЕТОДОМ ТРАПЕЦИЙ
//
//
//



double trap(double a, double b, int N)
{
double h = (b - a)/N;
double tmpA, tmpB;
double s;

tmpA = a;
tmpB = a + h;
s = 0; //обнуляем площадь, для того что бы потом просуммировать

for (int i = 0; i < N; i++) //цикл
{
s = s + (F(tmpA) + F(tmpB))*h/2; //формула для нахождения площади
//ограниченную сверху кривой

tmpA = tmpB;
tmpB = tmpB + h;
}

return s;
}



//Функция для нахождения верхнего предела интегрирования
//
//
//МЕТОД ДИХОТОМИИ
//
//
//

double f (double Ym, double bm) //функция f(y)
{
return (0.7*exp(-(Ym*Ym))+0.3*exp(-(Ym/2))-bm);
}
double Ym(double a, double b, double eps, double bm)
{
double c;
do
{
c=(a+b)/2; //объявляем шаг вычисления
if (f(c,bm)*f(a,bm)<0) b=c; //вызов функции
else a=c; //если f(a)*f(c) > 0
//то к значению a присваиваем значение c
}
while (fabs(a-b)>=eps); //«fabs» - берём модуль разности f(b)-f(a)
//и сравниваем с заданной точностью
return c;
}


int main() //заголовок главной функции
{
ofstream file; //открытие файла, file переменная описанная как ofstream
double V,a,b,eps,epsp; //описание вещественных переменных
int N, N1, m;
bm = 0.05;
cout <<"a="; cin >>a; //задаем левую границу интервала
cout <<"b="; cin >>b; //задаем правую границу интервала
cout <<"eps="; cin >>eps; //задаем точность вычислений
cout <<"epsp="; cin >>epsp;
cout<<"N="; //вывод строки символа N= с помощью cout
cin>>N; //ввод N с помощью cin
cout<<endl;
cout<<"Ym="<<Ym(a,b,eps,0.05)<<endl;
file.open("results.txt"); //открывает файл,
//results –полное имя файла на диске,
//txt- режим работы с открытым файлом


for (m = 0; m < 6; m++) //цикл
{
bm = 0.05; //начальное условие
while (bm <= 0.9) //пока bm меньше
// или равно 0.9 выполняется
{
N1=N+1;
while (fabs(trap(a,b,N)-trap(a,b,N1))>epsp)
{
N1=N1*2;
}


V = (m*M_PI + 3*M_PI/4)/trap(0, Ym(a,b,eps,bm), N1);
cout<<"m="<<m<<" "<<"bm="<<bm<<" "<<"trap="<<trap(0, Ym(a,b,eps,bm),N1)<<" "<< "V="<<V<<endl;

if (ceil(V) <= 40) //ceil -округляет дробное значение V
//в большую сторону
//и если меньше или равно 40, то выводит //соответствующие значения на экран
{
cout.setf(ios::left); //выводит значения m=
//использовав флаг форматирования //выравнивание по левой границе
cout<<"m="; //функции вывода результатов на экран
cout.width(10);
cout<<m<<"bm=";
cout.width(10); //устанавливает ширину поля вывода,
//10 позиций
cout<<bm<<"V=";
cout.width(10);
cout<<V<<endl;
cout<<Ym(a,b,eps,bm)<<"Ym=";
cout.width(10);
cout<<Ym(a,b,eps,bm)<<endl;
file.setf(ios::left); //записывает значения в файл
file<<"m=";
file.width(10);
file<<m<<"bm=";
file.width(10);
file<<bm<<"V=";
file.width(10);
file<<V<<endl;
}

bm += bm_step; //сложение с присваиванием
}
}

return 0;
}
 
Ответить с цитированием

  #1499  
Старый 30.05.2009, 13:29
Аватар для scrat
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

как вариант написать на си и дать асм-листинг
 
Ответить с цитированием

  #1500  
Старый 30.05.2009, 14:55
Аватар для new-sl
new-sl
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме:
105684

Репутация: -1
По умолчанию

Цитата:
Сообщение от Monstrillo  
Мой товарищ меня опередил) Так же на С++
Написать программу «Англо-русский и русско-английский словарь».
«База данных» словаря содержит по одному варианту перевода слов и хранится в текстовом файле.
Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций:
Формирование «базы данных» словаря.
Выбор режима работы:
англо-русский;
русско-английский.
Вывод перевода заданного английского слова.
Вывод перевода заданного русского слова.
Базу данных словаря реализовать в виде класса vector.

Заранее спасибо.
я навичок но вот тут немнога попробывал низнаю получилось ли или нет
кроме проверки на уже имеюшися слова чтоби небило пофторени ешё незделал но ето легко осуществить с помошю функции поиска в самам нису кода а так вроде всё зделал осталось тока преукрасить меню и всё такое

Код:
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <direct.h>
#include<io.h>
#include<sys/types.h>
#include<sys/stat.h>





using namespace std;

class Translate
{
public:
	Translate();
	Translate(wstring Rus, wstring Engl);
	Translate(const Translate&rhs);
	~Translate();
	//Set
	
	void SetRus(wstring Rus);
	void SetEngl(wstring Engl);
	

	//Get

	wstring GetRus()const;
	wstring GetEngl()const;
	int GetRusLenght()const{ int Lenght=Rus.length(); return Lenght;}
	


	Translate &operator=(const Translate&rhs);

private:

wstring Rus ;
wstring Engl;



};



Translate::Translate (){
Rus='0';
Engl='0';


}


Translate::Translate(std::wstring Rus,std::wstring Engl):
Rus (Rus),
Engl(Engl)


{}

Translate::Translate(const Translate &rhs):
Rus(rhs.GetRus()),
Engl(rhs.GetEngl())

{}

Translate::~Translate()
{}

void Translate::SetRus(std::wstring rus)
{
	Rus=rus;
}


void Translate::SetEngl(std::wstring engl)
{
	Engl=engl;
}



wstring Translate::GetRus() const
{
	return Rus;
}

wstring Translate::GetEngl() const
{
	return Engl;
}



Translate&Translate::operator =(const Translate &rhs)
{
	Rus=rhs.GetRus();
	Engl=rhs.GetEngl();
	
	return *this;
}

typedef vector<Translate> T;



//Funktionen

template <class T>
void Translater ( vector<T>&v,Translate&Transl);
template <class T>
void Add( vector<T>&v,Translate&Transl);
template <class T>
void Remove ( vector<T>&v,Translate&Transl);
template <class T>
void Change( vector<T>&v,Translate&Transl);
template <class T>
void ShawAll(vector<T>&v,Translate&Transl);
template <class T>
void FileExist(vector<T>&v,Translate&Transl);
template <class T>
int Search (vector<T>&v,Translate&Transl);
int main ()
{
locale loc("russian_Russia.1251"); 
locale::global(loc); 
wcin.imbue(locale(".866")); 
	

	T v;
	Translate Transl;
	char choice;
	bool Quite=true;
	ifstream fin;
	bool result=false;


	FileExist(v,Transl);
	

	
		
	

		
for(;Quite;)
	{
		
		cout <<"\n\n\t\t******************Translater**********************\n\n";
		cout <<"\t\t+++++В переводчике ";
			
		if(v.size()>1)
			cout <<"находятся "<<v.size()<<" Записеи\n";
		else
			cout<<"находится "<<v.size()<<" Запись \n";

		
		wcout <<"\n    **(1)Add***(2)Translate***(3)Change***(4)Remove***(5)ShawAll***(0)Quite**\n";
		cout <<"\nчто вы хотите делать ?\n";
		wcout<<"\n";
		
		
		cin>>choice;
		
		cout <<endl;

		switch(choice)
		{
		case '1':  Add(v,Transl);
			break;
		case '2': Translater(v,Transl);
				  
			break;
		case '3':
			break;
		case '4':
				break;
		case '5':ShawAll(v,Transl);
			break;

		case '0': Quite=false;
			break;
		
		default: 
			{
			cout <<"Error\n";
			continue;
			break;}
		}
		wofstream fout;
		wofstream sout;
	  
	fout.open("C:\\Translater 1.0\\Translater.txt");
	int q;
	 for ( q = 0; q <v.size(); q++)
	  {
		
		  
		 int itsLenght=v[q].GetRusLenght();
		 if(itsLenght>9)
		 fout<<v[q].GetRus()<<"\t\t\t"<<v[q].GetEngl()<<endl;
		 else
		  fout<<v[q].GetRus()<<"\t\t\t\t"<<v[q].GetEngl()<<endl;

		
	 } 
	 
     
}
	


return 0;

}

template <class T>

void Add (std::vector<T>&v,Translate&Transl)
{

wstring Rus,Engl;
wcout<<L"Введи слово"<<endl; 
wcin>>Rus; 
wcout<<Rus<<endl;

cout<<" Enter the word\n";
wcin>>Engl;

   Transl.SetRus(Rus); 
   Transl.SetEngl(Engl); 
  
   v.push_back(Transl); 
 


}


template <class T>
void FileExist(vector<T>&v,Translate&Transl)
{

	
	string strPath="c:\\Translater 1.0";

cout<<strPath ;

    if ( access( strPath.c_str(), 0 ) == 0 )
    {
        struct stat status;
        stat( strPath.c_str(), &status );

        if ( status.st_mode & S_IFDIR )
        {
            cout << " Папака была заведена " << endl;
        }
        else
        {
            cout << " ето File " << endl;
        }
    }
    else
    {
     cout << " Папка несуществует, папка\n";
	 cout<<strPath<<" будет заведена... " << endl;
    _mkdir("C:\\Translater 1.0");
   }


	wifstream fin;
	
	
	fin.open("C:\\Translater 1.0\\Translater.txt" );
	if(fin)
	
{
	cout<<"Фаил Translater.txt был наиден , читается .......\n";
	

	
     int i=0;	 
	
		
		wchar_t rus[100];
		wchar_t engl[100];
		
		for(;fin;)
		
		{



	fin>>rus;
    wstring Rus(rus);
	fin>>engl;
	wstring Engl(engl);

	

	Transl.SetRus(Rus);
	Transl.SetEngl(Engl);
	v.push_back(Transl);
	
	
		
}
	   
v.erase(v.end()-1,v.end());  // because for(;fin;) 
	   

	
}
	
	else
		cout <<"Фаил Translater.txt был ненаиден\n";
}


template <class T>
void ShawAll(vector<T>&v,Translate&Transl)
{
	
	for(int i=0;i<v.size();i++)
	{
		wcout <<"Rus: "<<v[i].GetRus() ;
		int itsLenght=v[i].GetRusLenght();
		
		if(itsLenght==1||itsLenght==2)
		wcout <<"\t\t\t\tEngl: "<<v[i].GetEngl()<<endl;
		else
		{
		
			if(itsLenght>10)
		wcout <<"\t\tEngl: "<<v[i].GetEngl()<<endl;
			else
			
		wcout <<"\t\t\tEngl: "<<v[i].GetEngl()<<endl;
		
		}

		
		
		
		
	}
}


template <class T>
void Translater( vector<T>&v,Translate&Transl)
{
wstring Rus,Engl;
wchar_t choice;
cout<<"*** (1)Rus->Engl******** (2) Engl->Rus***\n";
wcin>>choice;
 
int i=0;
switch (choice)
{

	
case '1':{ 
	
	
	wcin>>Rus;
	if(Search (v,Transl,Rus)!=-1)
	{
	i=Search (v,Transl,Rus);
	cout <<"English \n";
    wcout<<v[i].GetEngl()<<endl;
	}
	else 
		cout<<"Error\n";
	
		
	

		
	
	
		
	
		}

	break;
case '2': 
{
	wcin>>Engl;
	if(Search (v,Transl,Engl)!=-1)
	{
	i=Search (v,Transl,Engl);
	cout <<"Russian \n";
    wcout<<v[i].GetRus()<<endl;
	}
	else 
		cout<<"Error\n";

}	

	

}

}






template <class T>
int Search (vector<T>&v,Translate&Trransl,wstring Lang)
{
	
		int i,q;
		for(i=0;i!=v.size();++i)
		{
			
			if((v[i].GetRus()==Lang)||(v[i].GetEngl()==Lang))
			{
			  return i;
			}
			
				
			

			
		}

		
	return -1;

}

Последний раз редактировалось new-sl; 30.05.2009 в 22:27..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ