0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 18
1

Получить последовательность, которая отличается от исходной тем, что все нечетные элементы удвоены

03.01.2014, 13:35. Показов 1429. Ответов 3
Метки нет (Все метки)

Даны натуральное число N и последовательность A1, A2, ... An, состоящая из N целых чисел. Получить последовательность, которая отличается от исходной тем, что все нечетные элементы удвоены. Оба массива вывести на экран.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program N1; 
const n=10; 
var 
   i:integer; 
   a:array[1..n] of integer; 
begin 
   for i:=1 to n do begin
     a[i]:=random(9)+1;write(a[i],'  ');
   end;
 
   writeln; 
   for i:=1 to n do begin 
     if a[i] mod 2<>0 then a[i]:=a[i]*2;
     write(a[i],'  '); 
   end; 
   readln; 
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2014, 13:35
Ответы с готовыми решениями:

Получить последовательность b1, …, bn, которая отличается от a1, …, an тем, что все нечетные члены исходной
Даны целые числа a1, …, an. Получить последовательность b1, …, bn, которая отличается от a1,...

Получить последовательность ,которая отличается от исходной тем , что все нечетные элементы удвоены
Даны натуральное N и последовательность A 1,A 2,…,A N , состоящая из N целых чисел. Получить...

Получить последовательность, которая отличается от исходной тем, что все нечетные элементы удвоены
a = -100, b = 107 1) Дана последовательность действительных чисел А1, …, А50. Получить...

Массив: Получить последовательность В(10), которая отличается от исходной тем, что все нечетные элементы удвоены.
Дан массив А(10). Необходимо получить последовательность В(10), которая отличается от исходной тем,...

3
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 18
03.01.2014, 15:58  [ТС] 2
Спасибо, уже сделала
Вложения
Тип файла: rar 31.rar (443 байт, 8 просмотров)
0
Хочу в Исландию
1040 / 839 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
04.01.2014, 00:58 3
Алгоритм простой, но ввод и вывод в ассемблере сложный.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
format PE console
include 'win32a.inc'
 
N       equ 10
 
        mov     edi,A
        mov     ecx,N
mAssignRandom:
        push    edi
        push    ecx
 
mGetTickCount:
        invoke  GetTickCount
        cmp     [nrnd],eax
        jne     mExGetTickCount
        jmp     mGetTickCount
mExGetTickCount:
        mov     [nrnd],eax
 
        pop     ecx
        pop     edi
 
        mov     ebx,10
        div     ebx
        mov     byte [edi],dl
        add     edi,4
        loop    mAssignRandom
 
        mov     edi,A
        mov     ecx,N
        call    outputArray
        lea     edi,[snl]
        mov     ecx,2
        call    SIOprintS
 
        mov     edi,A
        mov     ecx,N
mDoubleOdd:
        test    dword [edi],1
        jz      mEven
        shl     dword [edi],1
mEven:
 
        add     edi,4
        loop    mDoubleOdd
 
        mov     edi,A
        mov     ecx,N
        call    outputArray
        lea     edi,[snl]
        mov     ecx,2
        call    SIOprintS
 
        invoke  ExitProcess,0
 
proc    outputArray
local   ssp db ' '
.mOutput:
        push    edi
        push    ecx
 
        mov     eax,dword [edi]
        call    SIOprintSInt
 
        lea     edi,[ssp]
        mov     ecx,1
        call    SIOprintS
 
        pop     ecx
        pop     edi
        add     edi,4
        loop    .mOutput
 
        ret
endp
 
proc    SIOprintSInt
;Output signed number
;Input parameters:
;EAX - number
local   so      db 10 dup ?
 
        lea     edi,[so]
        stdcall CNSignedIntToS
        stdcall SIOprintS
 
        ret
endp
 
proc    CNSignedIntToS
;Convert integer signed number to string
;Input parameters:
;EAX - number
;EDI - string address
;Output parameters:
;EDI - string address
;ECX - string length
        push    edi
 
        mov     ecx,0
 
        cmp     eax,0
        jge     .mPositive
        mov     byte [edi],'-'
        inc     ecx
        inc     edi
        neg     eax
.mPositive:
 
        push    eax
.mBefore:
        mov     ebx,10
        mov     edx,0
        div     ebx
        inc     ecx
        inc     edi
 
        cmp     eax,0
        jg      .mBefore
        pop     eax
 
        dec     edi
.mMain:
        mov     ebx,10
        mov     edx,0
        div     ebx
        add     dl,'0'
        mov     byte [edi],dl
        dec     edi
 
        cmp     eax,0
        jg      .mMain
 
        pop     edi
 
        ret
endp
 
proc    SIOprintS
;Output string
;Input parameters:
;EDI - string
;ECX - string length
local   qcio    dd ?
        invoke  GetStdHandle,STD_OUTPUT_HANDLE
 
        lea     ebx,[qcio]
        invoke  WriteConsole,eax,edi,ecx,ebx,0
 
        ret
endp
 
A       dd N dup(0)
snl     db 13,10
nrnd    dd 0
 
include 'API\kernel32.inc'
 
data import
 
        library kernel32,'KERNEL32.DLL'
 
end data
0
Клюг
7673 / 3188 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
04.01.2014, 02:46 4
skaa, что-то длинновато.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
;program N1; 
;const n=10; 
N   =   10
.386
    .model flat, stdcall    
    option casemap :none
    include windows.inc
    include masm32.inc
    include msvcrt.inc
    include macros.asm
    includelib masm32.lib
    includelib msvcrt.lib
.data
tptd    db  '%d  ',0
eol =   $ - 1
.data?
;   a:array[1..n] of integer; 
arr dd  N dup(?)
.code    
;begin 
begin:  invoke  crt_time, 0
    invoke  crt_srand, eax
    mov ecx, N
    lea edi, arr
    mov esi, edi
    push    ecx
;   for i:=1 to n do begin
 
;     a[i]:=random(9)+1;write(a[i],'  ');
@@: push    ecx
    invoke  crt_rand
    stosd
        invoke  crt_printf, ADDR tptd, eax
        pop ecx
        loop    @b
;  end;
;   writeln; 
    invoke  crt_puts, eol
;   for i:=1 to n do begin 
    pop ecx
    mov edi, esi
;     if a[i] mod 2<>0 then a[i]:=a[i]*2;
@l: lodsd
    bt  eax, 0
    jnc @f
    sal eax, 1
    stosd
@@: push    ecx
;     write(a[i],'  '); 
    invoke  crt_printf, ADDR tptd, eax
    pop ecx
    loop    @l
;   end; 
;   readln; 
    invoke  crt__getch
;end.
        invoke  crt_exit, 0
    end begin
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.01.2014, 02:46
Помогаю со студенческими работами здесь

Получить последовательность, которая отличается от исходной тем, что все нечетные члены удвоены
Здравствуйте. Плохо разбираюсь в шарпе, помогите, пожалуйста, решить пару задач на...

Получить последовательность которая отличается от исходной тем, что все нечетные числа удвоенны
Доброго времени суток! Прошу помощи в решении этой задачи. Задача такова: Дано целое число...

Получить массив В, который отличается от исходного тем, что все нечетные элементы удвоены
Дан массив А из n действительных чисел: a1, …, an. Вычислить: a1, -a1a2, a1a2a3, …,...

Получить новый массив,который отличается от исходного тем, что все нечетные элементы удвоены
нужно получить новый массив,который отличается от исходного тем, что все нечетные элементы удвоены....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru