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

  #781  
Старый 21.11.2008, 00:00
InfernoNet
Banned
Регистрация: 07.11.2007
Сообщений: 301
Провел на форуме:
3428344

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

Задача: разработать алгоритм и составить программу на C++, для вывода на экран меню и решения задачи. определения номера четверти тригонометрического круга по знаку тригонометрической функции tg(x). Результат вывести на экран.
--
Сделать задачу нужно с переключателем switch. Я знаю, как сделать только через if, с переключателем понять не могу. Вот с if:

Цитата:
#include <iostream.h>
#include <match.h>
valid main ()
{
float x,y
cin << x;
y = tg(x)
if (y<0)
cout >> "/n номер четверти 1 и 4";
else
cot >> "/n номер четверти 2 и 3";
}
Если у кого есть возможность, напишите с переключателем switch.
 
Ответить с цитированием

  #782  
Старый 21.11.2008, 00:04
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме:
2418438

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

Цитата:
Сообщение от InfernoNet  
Задача: разработать алгоритм и составить программу на C++, для вывода на экран меню и решения задачи. определения номера четверти тригонометрического круга по знаку тригонометрической функции tg(x). Результат вывести на экран.
--
Сделать задачу нужно с переключателем switch. Я знаю, как сделать только через if, с переключателем понять не могу. Вот с if:



Если у кого есть возможность, напишите с переключателем switch.
y=tg(x);
switch(y)
{
case y>0:{ cout >> "/n номер четверти 2 и 3"; break;}
case y<0:{ cout >> "/n номер четверти 1 и 4"; break;}
}
 
Ответить с цитированием

  #783  
Старый 22.11.2008, 00:56
Olegros911
Участник форума
Регистрация: 07.04.2008
Сообщений: 166
Провел на форуме:
1116075

Репутация: 68
Отправить сообщение для Olegros911 с помощью ICQ
По умолчанию

помогите ришить задачу на Асамблере...

Задача///// найти минимальное число из заданих чисел 110(bin),33,FO(hex),1111(bin),251 нужно чтоб все ето щитала програмка в Асемблере
Кто поможет++++++++++++++++++++++++
 
Ответить с цитированием

  #784  
Старый 22.11.2008, 01:42
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


По умолчанию

вот нашел прогу ввода массива и поиска макс и мин элементов.
Код:
Ввести массив чисел, найти min и max, вывести на экран
.model small
.stack 100h
.data
massiv dw 80 dup(?)
msg1 db 0ah,0dh,“Vvodite chisla “,0ah,0dh,“$“
msg2 db 0ah,0dh,“max = $“
msg3 db 0ah,0dh,“min = $“
c10 dw 10
.code
start:
mov ax,@data
mov ds,ax
mov ah,09h ; вывод приглашения для ввода чисел
lea dx,msg1
int 21h
mov di,0 ; в di - max
mov si,32767 ; в si - min
xor dx,dx ; в dx - очередное число
input_loop:
mov ah,01h ; ввод символа
int 21h
cmp al,0dh ; если enter
je chislo ; то занести число в массив
cmp al,20h ; если пробел
je chislo ; то занести число в массив
sub al,30h ; вычитаем '0'
mov cl,al ; сохраняем цифру в cl
mov ax,dx ; в ax - введенное число
mul c10 ; умножаем на 10
xor ch,ch
add ax,cx ; добавляем цифру из al
mov dx,ax ; число снова в dx
jmp input_loop
chislo:
mov bx,cx ; в bx - порядковый номер очередного числа
shl bx,1 ; теперь - смещение очередного числа в массиве
mov massiv[bx],dx ; записываем в массив число
inc cx ; увеличиваем счетчик введенных чисел
cmp dx,si ; сравниваем число с минимальным
jb minimum ; если оно меньше, то jmp на minimum
cmp dx,di ; сравниваем число с максиальным
jg maximum ; если оно больше, то jmp на maximum
jmp chislo_cont ; иначе jmp на chislo_cont
minimum:
mov si,dx ; запоминаем минимальное число в si
jmp chislo_cont
maximum:
mov di,dx ; запоминаем максимальное число в di
chislo_cont:
xor dx,dx ; dx в ноль
cmp cx,80 ; если ввели 80-ое число
je end_input ; то конец ввода
cmp al,0dh ; если был нажат enter
je end_input ; то конец ввода
jmp input_loop
end_input:
mov ah,09h ; вывод на экран msg2
lea dx,msg2
int 21h
mov ax,di ; передаем в функцию output max через ax
call output ; выводим это число
lea dx,msg3 ; вывод на экран msg3
mov ah,9
int 21h
mov ax,si ; передаем в ouptput min через ax
call output ; выводим это число
mov ah,4ch ; завершение программы
int 21h
output proc ; процедура вывода числа, находящегосы в ax
xor cx,cx ; счетчик цифр
div_loop:
xor dx,dx ; подготовка к делению
div c10 ; деление
add dx,30h ; в dx - ASCII-код остатка от деления
push dx ; сохраняем его в стеке
inc cx ; инкремент счетчика
cmp ax,0 ; деление, покуда частное не нулевое
je out_loop
jmp div_loop
out_loop: ; цикл вывода числа
pop dx ; извлекаем из стека очередной остаток
mov ah,02h ; и выводим его на экран
int 21h
loop out_loop ; цикл продолжается cx раз
ret
output endp
end start
щя смотрю где то писал функции перевода в разные СЧ... найду - добавлю.
Вот нашел функцию перевода с BIN to HEX. имхо тебе будет нужно.

-------------------EDIT--------------------------

Код:
BinToHex Proc
	mov cx,4
L3:
	mov si,ax
	and si,0fh;здесь я мож втыканул...или же маска and si,1111b
	mov dl,strHex[si] ; DATA strHex DB '0123456789ABCDEF'
	dec bx
	mov [bx], dl
	shr ax,4
	dec cx
	jnz L3
	ret
BinToHex ENDP

-------------------EDIT--------------------------

Последний раз редактировалось NetSter; 22.11.2008 в 02:06..
 
Ответить с цитированием

  #785  
Старый 22.11.2008, 02:02
Olegros911
Участник форума
Регистрация: 07.04.2008
Сообщений: 166
Провел на форуме:
1116075

Репутация: 68
Отправить сообщение для Olegros911 с помощью ICQ
По умолчанию

Спасибо
 
Ответить с цитированием

  #786  
Старый 22.11.2008, 18:58
madjihad
Новичок
Регистрация: 12.10.2007
Сообщений: 6
Провел на форуме:
20178

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

Нужна помощь в написании ФТП клиента с радиобатоном для анонимного входа, поддержкой основных ф-й фтп(просмотр директорий, скачка, выкачка и тд.) Я думаю исходников в нете нарыть можно много, я и нарыл но встретился с проблемой. Вопервых желательно код на С++ но можна и делфу. Во вторых большинство клиентов получаются досовскими, а радиобатон тогда нельзя добавить. переделать тоже не получается. Помогите хоть чем-то. Наперёд большое спасиба!!!
 
Ответить с цитированием

  #787  
Старый 22.11.2008, 19:08
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


По умолчанию

Цитата:
Сообщение от madjihad  
Нужна помощь в написании ФТП клиента с....
можеш посмотреть сорцы нормального фтп сервера (с) by Pablo Software ЗДЕСЬ
или же если сильно горит недорого смотри ЗДЕСЬ
 
Ответить с цитированием

  #788  
Старый 22.11.2008, 19:52
GOODmen
Участник форума
Регистрация: 08.11.2008
Сообщений: 164
Провел на форуме:
5779069

Репутация: 185
Отправить сообщение для GOODmen с помощью ICQ
По умолчанию

Народ выручайте,нужно лабу сделать на free pascale кто поможет тому огромный респект
Вот задачи
Цитата:
1)сколько чисел натурального ряда,начиная с А,нужно взять,чтобы сумма нечетных из них не превосходила число ,заданное с клавиатуры.Число Ф задать случайно из диапазона от 1 до 10.

2)Найти сумму всех элементов массива целых чисел,которые меньше средьнего арифмитического элементов массива.Размерность массива 20.Заполнение масива осуществить случайными числами от 150 до 300.
3)Натуральное число из Н цифр являеться числом Амстронга,если сумма его цифр,возведенная в Н степень равна этому числу.Найти все числа Амстронга среди четырехзначных чисел.
4)Дан массив размера 10.Обнулить элементы массыива,расположенные между его минимальным и максимальными элементами(не включая мин. и макс. элементы)
 
Ответить с цитированием

  #789  
Старый 22.11.2008, 21:35
Anutka
Новичок
Регистрация: 26.10.2008
Сообщений: 9
Провел на форуме:
25836

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

У меня на следующую прогу(преобразоване латинских заглавных букв в строчные) masm выдает такую ошибку:fatal error L1101:invalid object module pos:1E Record type:570C. Объясните мне, что это значит. и также хотелось бы узнать как ее исправить.
Сама прога:
CSEG segment
org 100h
assume CS:CSEG, DS:CSEG, SS:CSEG, ES:CSEG
start:
;очистка экрана
MOV AX,0600H ;AH=06H - УСТАНОВКА ПРОКРУТКИ, AL=00 - ВО ВЕСЬ ЭКРАН
MOV BH,07 ;ЧЕРНО-БЕЛЫЙ ЭКРАН
MOV CX,0000 ;ВЕРХНЯЯ ЛЕВАЯ ПОЗИЦИЯ
MOV DX,184FH ;НИЖНЯЯ ПРАВАЯ ПОЗИЦИЯ
INT 10H ;УПРАВЛЕНИЕ В BIOS
;УСТАНОВКА КУРСОРА В ПОЗИЦИЮ 00
MOV AH,02 ;ЗАПРОС НА УСТАНОВКУ КУРСОРА
MOV BH,00 ;ВЫБОР ВИДЕОСТРАНИЦЫ
MOV DX,0000 ;УСТАНОВКА КУРСОРА
INT 10H ;УПРАВЛЕНИЕ В BIOS
;ВЫВОД ПРИГЛАШЕНИЯ НА ВВОД
MOV AH,09 ;ФУНКЦИЯ ВЫВОДА СТРОКИ
MOV DX,OFFSET MSG1 ;АДРЕС СТРОКИ
INT 21H ;ПОЛЬЗОВАТЕЛЬСКОЕ ПРЕРЫВАНИЕ
;СЧИТЫВАНИЕ СИМВОЛОВ, ВВЕДЕННЫХ С КЛВИАТУРЫ
MOV AH,3FH ;ФУНКЦИЯ ВВОДА
MOV BX,00 ;НОМЕР ДЛЯ КЛАВИАТУРЫ
MOV CX,254 ;ДОПУСТИМОЕ КОЛИЧЕСТВО ВВЕДЕННЫХ СИМВОЛОВ
MOV DX,OFFSET INBUF ;ЗАНЕСЕНИЕ АДРЕСА БУФЕРА В РЕГИСТР DX
INT 21H ;ПОЛЬЗОВАТЕЛЬСКОЕ ПРЕРЫВАНИЕ
SUB AX,02 ;ИЗОБЩЕГО КОЛИЧЕСТВА СИМВОЛОВ ВЫЧИТАЮТСЯ СИМВОЛЫ "ВВОД" И "КОНЕЦ СТРОКИ"
;ИЗМЕНЕНИЕ ЗАГЛАВНЫХ БУКВ НА СТРОЧНЫЕ
MOV SI,OFFSET INBUF ;В РЕГИСТР sI (ИНДЕКС ПРИЕМНИКА) ЗАНОСИМ АДРЕС ПЕРВОГО СИМВОЛА
MOV CX,AX ;В РЕГИСТР CX ЗАНОСИМ КОЛИЧЕСТВО СИМВОЛОВ
L1:
MOV BL,[SI] ;В BL ЗАНОСИМ ПРОСМАТРИВАЕМЫЙ ФАЙЛ
CMP BL,64 ;СРАВНИВАЕМ С 64 65=A
JBE VYHOD ;ЕСЛИ МЕНЬШЕ ИЛИ РАВНО ЗАКАНЧИВАЕМ ПРОСТМОТР
CMP BL,90 ;СРАВНИВАЕМ С 90 90=Z
JA STROKI ;ЕСЛИ БОЛЬШЕ ПРОВЕРИМ НА СТРОЧНОСТЬ
ADD BL,32 ;ЕСЛИ ЗАГЛАВНАЯ ЛАТИНСКАЯ СДЕЛАЕМ СТРОЧНОЙ
MOV [SI],BL ;ВЕРНЕМ НА МЕСТО
JMP VYHOD ;КОНЕЦ
STROKI:
CMP BL,97 ;СРАВНИВАЕМ С 97 97=a
JB VYHOD ;ЕСЛИ МЕНЬШЕ ЗАКАНЧИВАЕМ
CMP BL,122 ;СРАВНИВАЕМ С 122 122=z
JA VYHOD ;ЕСЛИ БОЛЬШЕ ЗАКАНЧИВАЕМ
MOV [SI],BL ;ВОЗВРАЩАЕМ НА МЕСТО
VYHOD:
INC SI ;ПЕРЕХОД НА СЛЕДУЮЩИЙ СИМВОЛ
LOOP L1
MOV BL,BYTE PTR '$'
MOV [SI],BL ;ЗАТЫКАЕТ СТРОКУ СИМВОЛОМ $
;ВЫВОД НОВОЙ СТРОКИ
MOV AH,09
MOV DX,OFFSET MSG2
INT 21H
MOV DX,OFFSET INBUF
INT 21H
INT 20H ;ЗАВЕРШЕНИЕ ПРОГРАММЫ
MSG1 DB "ENTER STRING OF SYMBOLS:$"

MSG2 DB "CONVERT STRING:$"

INBUF DB 256 DUP (' ')
 
Ответить с цитированием

  #790  
Старый 22.11.2008, 22:54
UnPazz
Участник форума
Регистрация: 30.08.2008
Сообщений: 128
Провел на форуме:
668329

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

Цитата:
4)Дан массив размера 10.Обнулить элементы массыива,расположенные между его минимальным и максимальными элементами(не включая мин. и макс. элементы)
Код :
Цитата:
uses crt;
const num = 10;
var mas: array [1..num] of integer; //показываем проге что есть массив
i,min,max: integer; // показываем что есть числа i, min и max

begin

clrscr;

for i:=1 to num do begin mas[i]:=random(100)+1; write(mas[i]:3); end; //записываем в массив случайные числа и выводим на экран

writeln; writeln;

min:=mas[1]; / представим что мин.число равно минэлементу.
max:=mas[num]; // представим что макс.число равно макс.элементу

// перебираем весь массив чтобы найти настоящие мин. и максиальные элементы.
for i:=1 to num do
begin
if min>mas[i] then min:=mas[i];
if max<mas[i] then max:=mas[i];
end;

// выводим настоящие мин. и макс.элементы.
writeln('min=',min);
writeln('max=',max);
writeln;

// перебираем все элементы массива обнуляя их, кроме мин. и макс. элементов.
for i:=1 to num do
if (mas[i]<>max) and (mas[i]<>min) then mas[i]:=0;

//выводим полученный массив
for i:=1 to num do write(mas[i]:3);

readkey;
end.
Удали все комментарии и заработает
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! 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