Member
Статус: Не в сети Регистрация: 13.11.2003 Откуда: Питер
Я сам в Ассемблере не рублю, хороший друг попросил помочь - две простые задачи, но даже их я не смогу сделать Кто может, помогите плиз.
1. Дан одномерный массив десятичных чисел, нужно выбрать наибольшее Нечетное число.
2. Дан уже другой одномерный массив десятичных чисел, необходимо выделить все числа, которые при переводе в двоичную форму имеют 4 единицы (например 110011).
Плиз, очень прошу помощи. Спасибо.
Изменил название. Все просьбы "помогите срочно сделать <что-либо>, мне самому некогда и/или лень" обсуждаются в этой теме. vor
_________________ One, two, three and to the fo'
Snoop Doggy Dogg and Dr. Dre are at the do'
Member
Статус: Не в сети Регистрация: 12.03.2003 Откуда: Израиль
Эх, развелось тем... По правилам им место во флейме, надеюсь туда модераторы и попереносят...
Добрый, но пивной. Проверяться не буду, что заработает - не гарантирую. Пишу прямо в форум.
1.
Код:
; допустим, CX - размер, SI - указатель на массив... ; АХ - возвращаемое значение. Числа - 16 бит. BigOdd proc xor bx, bx findloop: lodsw test ax, 1 jz @F cmp ax, bx jl @F mov bx, ax @@: loop findloop mov ax, bx ret BigOdd endp
2. А как числа-то выделять будем???
_________________ Более мощный компьютер глючит быстрее и точнее.
Member
Статус: Не в сети Регистрация: 08.10.2004 Откуда: Москва
Люди помогите написать задачу на Delphi.Задали в институте такую задачку:
Цитата:
Заданы распределения на N пар , 2N треугольников длиннами сторон A1 , B1 , C1 (Первый треугольник каждой пары) и A2 , B2 , C2 (Второй треугольник каждой пары) , причем A1<B1<C1 и A2<B2<C2. Определить число случаев подобия треугольников входящих в одну пару , и вывести длины сторон таких треугольников.
Member
Статус: Не в сети Регистрация: 18.01.2005 Откуда: Estonia, Tallin
Форумчане, помогите пожалуйста с задачкой в Паскале.
Вобщем задание такое: нужно чтобы программа записывала из 1 файла во 2 те числа, в которых НЕ повторяются цифры. Например 257-пишем, 262-не пишем. Собственно не могу сообразить, как сделать сравнение цифр в числе.
_________________ Nvidia: "The Way it’s meant to be p(l)ayed!"
Advanced member
Статус: Не в сети Регистрация: 23.10.2003 Откуда: Иркутск/Майкоп
Проверять можно так:
Код:
procedure check(n:longint):boolean; var a:array[0..9] of byte; i:integer; begin for i:=0 to 9 do a[i]:=0; while n>0 do begin inc(a[n mod 10]); n:=n div 10; end; check:=true; for i:=0 to 9 do if a[i]>1 then begin check:=false; break; end; end;
Выдаёт true, когда нет повторов. (Не проверял. )
_________________ Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.
Последний раз редактировалось vor 16.03.2005 12:30, всего редактировалось 1 раз.
Member
Статус: Не в сети Регистрация: 18.01.2005 Откуда: Estonia, Tallin
vor Большое человеческое спасибо, что помог, теперь програмка отлично работает. Только вот ты вначале написал процедура, а по способу декларации этож функция. Если заменить procedure на function то всё отлично работает
_________________ Nvidia: "The Way it’s meant to be p(l)ayed!"
Member
Статус: Не в сети Регистрация: 15.02.2005 Откуда: Saratoff
Здравствуйте, уважаемые господа! Подскажите пожалуйста как сделать програмку в Паскале следующего типа: Дана матрица размерностью 6 на 6. Необходимо найти произведение элементов побочной диагонали!!!
Не могли бы здесь разместить код. То есть помогите с написанием данной проги!
Заранее благодарю! Желательно как можно проще и лаконичнее, т.к сам довольно плохо разбираюсь в програмировании!:roll:
Advanced member
Статус: Не в сети Регистрация: 23.10.2003 Откуда: Иркутск/Майкоп
Crime
Код:
var i,j:integer; a:array[1..6,1..6] of integer; begin writeln; for i:=1 to 6 do for j:=1 to 6 do begin write('a[',i,',',j,']='); readln(a[i,j]); end; writeln('P=',a[6,1]*a[5,2]*a[4,3]*a[3,4]*a[2,5]*a[1,6]); readln; end.
или
Код:
var i,j:integer; a:array[1..6,1..6] of integer; begin randomize; for i:=1 to 6 do begin for j:=1 to 6 do begin a[i,j]:=random(11)-5; write(a[i,j]:3,' '); end; writeln; end; writeln('P=',a[6,1]*a[5,2]*a[4,3]*a[3,4]*a[2,5]*a[1,6]); readln; end.
_________________ Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.
Member
Статус: Не в сети Регистрация: 15.02.2005 Откуда: Saratoff
vor писал(а):
Crime
Код:
var i,j:integer; a:array[1..6,1..6] of integer; begin writeln; for i:=1 to 6 do for j:=1 to 6 do begin write('a[',i,',',j,']='); readln(a[i,j]); end; writeln('P=',a[6,1]*a[5,2]*a[4,3]*a[3,4]*a[2,5]*a[1,6]); readln; end.
или
Код:
var i,j:integer; a:array[1..6,1..6] of integer; begin randomize; for i:=1 to 6 do begin for j:=1 to 6 do begin a[i,j]:=random(11)-5; write(a[i,j]:3,' '); end; writeln; end; writeln('P=',a[6,1]*a[5,2]*a[4,3]*a[3,4]*a[2,5]*a[1,6]); readln; end.
ТО есть можно любую из них брать - 2 куска кода???
Огромное спасибо!!! Просто очень благодарен!!! Огромнейшее спасибо! А не подскажешь, где ещё можно взять описание команд по паскалю!!!
Member
Статус: Не в сети Регистрация: 02.03.2005 Фото: 0
Как сказал наш уважаемый модератор,
Цитата:
"помогите срочно сделать <что-либо>, мне самому некогда и/или лень"
Значит пишу сюда Есть проблема нужно открыть один архив и выташить содержимое. Архив от игры Earth 2140. Переписывался с одним поляком, он дал исходный код но в английский он не разумеет, так что от него помощи не дождёшся.
int main(int argc,char * argv[]) { FILE * f; int sz; char * cn; f=fopen(argv[1],"rb"); if(!f) { printf("Unable to open input filen"); return 0; } fseek(f,0,SEEK_END); sz=ftell(f); fseek(f,0,SEEK_SET); if(!(load_buf=malloc(sz))) { printf("Unable to allocate memory for inputn"); return 0; } fread(load_buf,1,sz,f); printf("file_size=%un",sz); nr_files=(unsigned long *)(load_buf+0); fdes=(struct file_desc *)(load_buf+4); nametable_ptr=load_buf+4+((*nr_files)*sizeof(struct file_desc))+2; printf("nr_files=%un",(*nr_files)); cn=nametable_ptr; for(sz=0;sz<(*nr_files);sz++) { nametable_ptr=cn+strlen(cn)+1; extract_file(sz,cn); cn=nametable_ptr; } free(load_buf); return 0; }
Внутри кода вроде на польском. Скачал компилятор Bloodshed Dev-C++ Сую код, не компилируется. Пишет ошибку. Я сам в программировании полный профан, так что вся надежда только на вас друзья. Помогите.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения