ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

20.12.2009, 17:14
|
|
Новичок
Регистрация: 04.12.2008
Сообщений: 15
Провел на форуме: 50356
Репутация:
0
|
|
Паскаль
20, Написать программу которая из суммы пар элементов заданного массива формирует новый массив. Например если задан массив а1,а2,...ан. то элементы нового массива будут вычисляться следующим образом в1=а1+а2; в2=а3+а4 и т.д.
25. Написать программу которая упорядочивает по убыванию ту чаасть последовательности , кот находится после минимального элемента этой последовательности.
Написать программу, которая меняет местами максимальный и минимальный элементы массива
Написать программу которая из заданного масиива формирует 2 массива, один с элементами с чётными номерами, другой с нечётными
Заранее спасибо
|
|
|

20.12.2009, 18:26
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
Сообщение от Nelson17
Дана целочисленная матрица размера m на n. Размер матрицы задается динамически во время выполнения программы. Для хранения элементов матрицы использовать динамическое выделение памяти. Матрица заполняется случайными числами в диапазоне от -50 до 50. Используя алгоритм пузырьковой сортировки отсортировать элементы каждой четной строки по возрастанию, а нечетную - по убыванию. Заполнение матрицы случайными числами, сортировку элементов строк матрицы и вывод матрицы на экран организовать в виде функции.
Задание вроде не сильное с первого взгляда, но написать не могу. Помогите по-возможности. С++
2 ss88, никто ничего не путал и нужно С++.)
Хм... где же в условии хоть одно слово о классах, методах и т.д? 
|
|
|

20.12.2009, 19:41
|
|
Новичок
Регистрация: 03.12.2008
Сообщений: 13
Провел на форуме: 34545
Репутация:
0
|
|
Ну-у-у... Слова не было, но лабораторная то с темой "С++"
И игрушку "змейку" тоже в с++ нужно.=_)
|
|
|

20.12.2009, 19:55
|
|
Участник форума
Регистрация: 21.08.2009
Сообщений: 131
Провел на форуме: 2058728
Репутация:
60
|
|
Если кто может помочь разобраться с программой на ассемблере, буду премного благодарен. Язык к сожалению знаю хуже некуда. В общем программа обрабатывает заданный в командной строке файл таким образом, что все прописные латинские буквы преобразуются в заглавные. Ниже собствено код, кто может плиз откомментируйте построчно ну или насколько хватит терпения. Заранее благодарен.
Код:
CODE SEGMENT
ASSUME CS:CODE, DS:CODE
ORG 100H
BEGIN:
JMP BEG
TEXT1 DB 'Нет параметров.',13,10,'$'
TEXT2 DB 'Файл не найден.',13,10,'$'
PATH DB 80 DUP(O) ;путь к файлу
BUF DB 160 DUP(?) /буфер для чтения файла
BEG:
;блок анализа командной строки
XOR SI,SI
XOR DI,DI
MOV DL,1
LOO:
CMP BYTE PTR [81H+SI],ODH
JZ NO_PAR
MOV AL,[81H+SI]
CMP AL,' '
JZ SPACE
XOR DL,DL
MOV [PATH+DI],AL
INC DI
JMP SHORT L001
SPACE:
OR DL,DL ;если DL=0 тогда первый параметр закончился
JZ NO_PAR
L001:
INC SI
JMP SHORT LOO
NO_PAR:
OR SI,SI ;был ли параметр
JNZ CONT
/сообщение, затем выходим
MOV DX,OFFSET TEXT1
MOV AH,9
INT 21H
JMP EXIT
/теперь открытие и преобразование файла
CONT:
/открыть файл
LEA DX,PATH
MOV AX,3D02H
INT 21H
JNC NORM
MOV DX,OFFSET TEXT2
MOV AH,9
INT 21H
JMP EXIT
NORM :
MOV BX,AX
XOR DI,DI ;в DI будет хранится начало считываемого участка
POVT:
;читать участок файла в буфер
LEA DX,BUF
MOV АН,3FH
MOV CX,160 /размер буфера
INT 21H
MOV AH,AL
LEA SI,BUF
CMP AL,0
;просматриваем буфер и преобразуем латинский шрифт
L02 :
JZ ZER
CMP BYTE PTR [SI],97
JB L01
CMP BYTE PTR [SI],122
JA L01
SUB BYTE PTR [SI],32
L01:
INC SI
DEC AL
JMP SHORT L02
ZER:
PUSH AX
;перемещаем указатель файла назад
MOV AX,4200H
XOR CX,CX
MOV DX,DI /указатель начала считанного участка
INT 21H
; пишем буфер на диск
;количество записанных байт может, вообще говоря,
;быть больше 160
MOV АН,40Н
POP СХ
PUSH СХ
MOV CL,CH
XOR CH,CH
LEA DX,BUF
INT 21H ' .
;проверяем, не достигнут ли конец файла
POP AX
MOV AL,AH
XOR АН,АН
ADD DI,АХ
CMP AL,160 ;сравниваем с размером буфера
JZ POVT
;закрыть файл
MOV АН,ЗЕН
INT 21H
EXIT:
RET
CODE ENDS
END BEGIN
|
|
|

21.12.2009, 03:04
|
|
Участник форума
Регистрация: 07.01.2008
Сообщений: 109
Провел на форуме: 214923
Репутация:
17
|
|
Здравствуйте! Я пытаюсь разобраться с динамическими массивами.
Как я понял существуют два способа
1)
Код:
int *asd=new int[3];
//как я понимаю, здесь я создаю новый массив asd с тремя элементами.
2)
Код:
int *asd=(int*)malloc(sizeof(int)*3);
//как я понимаю, здесь я также создаю массив с тремя элементами.
Если я и в первом и во втором случае допишу:
Код:
asd[n]=111;
//где n любое целое число
всё прекрасно работает!!!
Внимание вопрос: почему???
visual studio C++
|
|
|

21.12.2009, 10:26
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Не факт что будет работать. Просто та память под которую выделил всё будет доступна для массива, а что за её пределами, может вообще не существовать или быть отданной под другие нужны. К примеру для локальный переменных.
И тогда ты просто будешь затирать их.
Вот пример:
Код:
int mas[3];
int z;
z = 0;
mas[3] = 1122334;
printf("%i", z);
зависит от компилятора, но с большой вероятностью выведется не 0, а 1122334
|
|
|

21.12.2009, 10:31
|
|
Участник форума
Регистрация: 07.01.2008
Сообщений: 109
Провел на форуме: 214923
Репутация:
17
|
|
Всё понял!
Большое спасибо!
|
|
|

21.12.2009, 10:42
|
|
Новичок
Регистрация: 16.12.2009
Сообщений: 29
Провел на форуме: 101927
Репутация:
0
|
|
Помогите пожалуйста с решением(на Делфи).
1.1)Найти произведение элементов массива A = {1, 3.5, 4, -0.8, 1.9, 5, 13}, удовлетворяющих условию  , если С = 2, D = 10. Сформировать из этих элементов массив Z.
1.2) В массиве Р(m,n) все элементы разделить на максимальный элемент k-го столбца:

Последний раз редактировалось a1ertso; 21.12.2009 в 11:14..
|
|
|

21.12.2009, 11:10
|
|
Постоянный
Регистрация: 15.07.2008
Сообщений: 444
Провел на форуме: 1417964
Репутация:
665
|
|
Сообщение от a1ertso
Помогите пожалуйста с решением(на Делфи).
1.1)Найти произведение элементов массива A = {1, 3.5, 4, -0.8, 1.9, 5, 13}, удовлетворяющих условию , если С = 2, D = 10.
уточни.
какому условию
|
|
|

21.12.2009, 11:15
|
|
Новичок
Регистрация: 16.12.2009
Сообщений: 29
Провел на форуме: 101927
Репутация:
0
|
|
Сори, просто не заметил. Условия вписал.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|