HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 21.12.2007, 11:17
tclover
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
С нами: 10741286

Репутация: 1847


По умолчанию

Цитата:
Помогите в написании задания для курсача асм и тоже самое на паскале
Дана строка "YoU ArE DeAd!!!" перевести её в верхний регист, затем в нижний и вывести все три сторки(искодня, верхний регистр, нижний)....
есть маленькие наработки
а что ты не понимаешь?
на ассемблере всё просто -
заглавные буквы от A до Z имеют аски коды 41h-5Ah, строчные - 61h-7Ah. И все они ничем друг от друга не отличаются, кроме пятого бита(здесь был KEZ). Меняя его, ты сможешь выводить как в верхнем регистре, так и в нижнем.
например буква а
A:01000001 и a:01100001
Используй xor.
А как на паскале хз =) я его не знаю

Последний раз редактировалось tclover; 21.12.2007 в 11:55..
 
Ответить с цитированием

  #2  
Старый 21.12.2007, 11:46
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами: 11042306

Репутация: 2726


По умолчанию

Автор, без отладченга ты сильно заебешься...

Открываем, попадаем на первую инструкцию


F7 - это шаг внутрь, F8 - поверх.
отличие - например, если будет call, то F7 шагнет внутрь процедуры, а F8 - перешагнет этот CALL
F9 - запуск, F2 - брейк-поинт. ENTER - посмотреть что там находится (по джампу, колу или рету, и тп), не переходя.
Нажимаем F8:



Идем F8 или F7, проходя твой код, скоро попадаем на
call ReadString
там все останавливается (из-за ReadConsole()) и надо ввести строку.



Ну и вот так, пошагово или с брекпойнтами, выполняя, смотрим где логика не соответствует работе программы.
Отладченг - это сила, без него - все бы вымерли давно.

tclover, бита а не байта.
 
Ответить с цитированием

  #3  
Старый 21.12.2007, 11:54
tclover
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
С нами: 10741286

Репутация: 1847


По умолчанию

ага. интересно, почему я про байты написал.
ps а я там у тебя в репе вопрос спросил

Последний раз редактировалось tclover; 21.12.2007 в 11:56..
 
Ответить с цитированием

  #4  
Старый 21.12.2007, 15:21
t3xHuK
Новичок
Регистрация: 22.08.2007
Сообщений: 10
С нами: 9852243

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

спс) еще утром все поправил, пошел сдавать)

ЗЫ юзнул ТДебаг, раньше в паскале програмил (1 курс када был)) нашел все без порблем... теперь изучаю инфу по олли )))
 
Ответить с цитированием

  #5  
Старый 21.12.2007, 15:50
***Dr.Freez***
Новичок
Регистрация: 07.12.2007
Сообщений: 3
С нами: 9698420

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

2 tclover, ды я знаю как перевести в верхний и в нижний регистра, я хз как теперь все три строки вывести =)
 
Ответить с цитированием

  #6  
Старый 23.12.2007, 20:25
Nea7
Участник форума
Регистрация: 08.09.2007
Сообщений: 211
С нами: 9828237

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

Определить класс "дата" c компонентными данными: число, месяц, год. Перегрузить операциия: >>,<<
(вывод в формате "чч/мм/гггг"),
>= (проверка на более позднюю дату или на их равенство), += (прибавить n дней).

Код:
#include <iostream>
#include <iomanip>
using namespace std;

class v_date 
{
	int number; 
	int month;  
	int year;  
public:
	v_date (int , int, int );
	int put_1();
	int put_2();
	int put_3();
	void get_1(int );
	void get_2(int );
	void get_3(int );
	
};
v_date::v_date(int a=0, int b=0, int c=0)  
	{
		if (a<31) 
		    number=a;
		if (b<13) 
		    month=b;
		if (c<2014) 
		    year=c;
	}

int v_date::put_1()
{
	return number;
}
int v_date::put_2()
{
	return month;
}
int v_date::put_3()
{
	return year;
}
void v_date::get_1(int a)
{
	if (a<31)
	    number=a;
	else 
		number=0;
}
void v_date::get_2(int b)
{
	if (b<13)
		month=b;
	else
		month=0;
}
void v_date::get_3(int c)
{
	if (c<2014)
		year=c;
	else
		year=0;
}

	ostream& operator << (ostream& out, v_date p)
	{
		out<<setw(2)<<p.put_1()<<"/"<<setw(2)<<p.put_2()<<"/"<<setw(4)<<p.put_3()<<endl;
		return out;
	}
	istream& operator >> (istream& in, v_date& p)
	{
		int a;
		cout<<"\nEnter number ";
		in>>a;
		p.get_1(a);
		cout<<"\nEnter month ";
		in>>a;
		p.get_2(a);
		cout<<"\nEnter year ";
		in>>a;
		p.get_3(a);
		return in;
	}
	int operator >= (v_date p, v_date pp)
	{   int kz;
		int np=365*p.put_3()+30*p.put_2()+p.put_1();
		int npp=365*pp.put_3()+30*pp.put_2()+pp.put_1();
	return  kz=np<npp ? 0: 1; //вычисляем большую дату
		
	}
		
	void main()
	{
		v_date d1, d2;
		cout<<"\nEnter d1\n";
		cin>>d1;
		cout<<"\nd1="<<d1;
		cout<<"\nEnter d2\n";
		cin>>d2;
		cout<<"\nd2="<<d2;
		if (d1>=d2)
			cout<<"\nbig number "<<d1;
		else 
			cout<<"\nbig number "<<d2;
		
	}
вот программка не хватает оператора +=, не могу понять как сделать... что-то вроде
Код:
 v_date operator += (v_date p, v_date pp)

{ int zz; zz=p.put_1()+pp.put_1(); return zz;}
может кто поможет /

//решил

Последний раз редактировалось Nea7; 24.12.2007 в 19:04..
 
Ответить с цитированием

  #7  
Старый 25.12.2007, 19:43
Furious
Новичок
Регистрация: 30.09.2007
Сообщений: 10
С нами: 9796332

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

Уважаемые Форумчане, помогите пожалуйста с выполнением лабораторной работы на языке С. Дело в том, что лабораторную работу нужно сдать уже в четверг, до него осталось 2 дня, а помимо программирования нужно до четверга сдать ещё 3 зачёта, которые придётся учить, следовательно некого просить о помощи...
Задание лабораторной такое:
Дан файл (333.dat) в котором находятся две квадратные матрицы. Файл выглядит примерно таким образом:
Код:
5 4
х х х х х
х х х х х
х х х х х
х х х х х
х х х х х
у у у у
у у у у
у у у у
у у у у
где 5 - определитель размерности первой матрицы, 4 - определитель размерности второй матрицы, х - любое число в первой матрице, у - любое число во второй матрице.
Итак нам нужно:
1) проверить наличие файла
2) считать оба массива из файла, предварительно заказав для них память
Код:
a = (int **)malloc(n*sizeof(int *));
n - наше первое число 5
for(i=0; i<n; i++)
a[i] = (int *)malloc(n*sizeof(int));
ну в подобном духе...
3) Из первых двух матриц составить третью матрицу, в которой левый верхний угол состоит из элементов той матрицы, след которой больше, а правый нижний - из элементов второй матрицы. Остальные элементы матрицы равны 0.
4) Вывести результат на экран.

Очень надеюсь, что Вы мне поможете. Напомню, что язык, на котором нужно составить программу - "С". (желательно под Visual Studio 2005).

Последний раз редактировалось Furious; 25.12.2007 в 19:45..
 
Ответить с цитированием

  #8  
Старый 21.12.2007, 18:36
Shawn1x
Banned
Регистрация: 24.08.2007
Сообщений: 201
С нами: 9849986

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

Задание
используя алгоритмы и контейнеры Stl:
создай список из 20 случаных элементов, со значениями от 1 до 19.
отсортируй список так что бы сначала шли четные элементы
Заранее спасибо
 
Ответить с цитированием

  #9  
Старый 21.12.2007, 22:51
Ded MustD!e
Members of Antichat - Level 5
Регистрация: 23.08.2007
Сообщений: 417
С нами: 9851426

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

Пожалуйста помогите написать хотя бы одну программу на языке Pascal, завтра по этим программам сдавать зачет. Мне сейчас нужно срочно уезжать и у меня физически нет возможности(((( Заранее спасибо тем, кто поможет написать хоть какую-то часть кода!!

1. Пакет операций над матрицами

Требуется написать пакет функций для работы с матрицами размерности 4х4 :

Транспонирование: матрица B получается перестановкой строк и столбцов в исходной матрице A, т.е. для квадратной матрицы bij = aji.

Умножение: произведением матрицы A размерности nхm на матрицу B размерности mхp называется матрица C, каждый элемент cij которой равен сумме
произведений элементов i–й строки матрицы A на соответствующие элементы j–го столбца матрицы B, т.е. cij = ai1b1j + … + aimbmj.

Логические блоки(что нужно сделать):

Генерация 2 исходных матриц (ручная и random).
Транспонирование обеих матриц.
Умножение 2 матриц.
Вывод (любой) матрицы размерности 4х4.

Как и что будет оцениваться преподом:

Содержательная часть:

+5 – операция транспонирование;
+10 – операция умножение.

Интерфейсная часть:

+5 – понятный интерфейс со строками приглашения и пояснениями результатов;
+5 – наличие меню и циклического алгоритма работы программы.

Пояснительная часть:

+2,5 – встроенная система помощи (вывод справочной информации по операциям по специальной команде);
+2,5 – отчёт о проведённом тестировании подробное описание входных и соответствующих им выходных данных, ограничений программы по диапазонам и проч.).

2. Журнал

Требуется создать "Журнал исследователя" для изучения уровня доходов для некоторой группы населения (не более 100 человек).

Логические блоки (базовый пакет):

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

Поиск диапазона введённых значений (для произвольного набора целочисленных
данных).

Поиск среднего значения (для произвольного набора целочисленных данных).

Вывод аналитических данных (диапазона значений и среднего для всех данных о возрасте и всех данных об уровне доходов).

Логические блоки (дополнительный пакет):
Вывод аналитических данных (диапазон и среднее) для заданной пользователем возрастной группы (вход: диапазон возраста группы).

Построение соотношения "возраст-доход" для каждого человека и вывод аналитических данных: возрастание / убывание дохода с возрастом.
Анализ и вывод данных по каждому городу: диапазон и среднее, отклонение среднего для города от среднего для всех данных. Возможность добавления новых статистических данных и повтора анализа.

Как и что будет оцениваться преподом:

Содержательная часть:

+5 – базовый пакет операций;
+25 – дополнительный пакет операций.

Интерфейсная часть:

+5 – понятный интерфейс со строками приглашения, циклическим вводом данных до специальной команды пользователя и пояснениями результатов;
+5 – наличие меню и циклического алгоритма работы программы.

Пояснительная часть:

+2,5 – встроенная система помощи (вывод справочной информации о возможностях программы по специальной команде);
+2,5 – отчёт о проведённом тестировании (подробное описание входных и соответствующих им выходных данных, ограничений программы по диапазонам и проч.).
 
Ответить с цитированием

  #10  
Старый 21.12.2007, 23:36
Neovild
Познающий
Регистрация: 18.12.2007
Сообщений: 32
С нами: 9682572

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

Ded MustD!e, я тебе по матрицам напишу
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT ™ © 2001- Antichat Kft.