Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [VB6] [QBASIC] одномерный массив


Автор: Максон 21.4.2009, 19:36
Здравствуйте! Помогите пожалуйста решить задачу в QBASIC
Занести в два одномерных символьных массива произвольные данные с клавиатуры. Определить количество неравных элементов. Если таких нет, то вывести соответствующее сообщение.

Автор: Akina 21.4.2009, 21:19
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: Данкинг 21.4.2009, 22:00
ыыы, кубасик. smile Спасибо за то, что напомнил о молодости и синтаксисе кубасика. smile 
Я, конечно, не уверен, что программа делает именно то, что требуется, но суть такая, если что, подправишь.

Код

CLS
INPUT "Vvedite razmernost' pervogo massiva: ", r1
INPUT "Vvedite razmernost' vtorogo massiva: ", r2

DIM mas1$(r1)
DIM mas2$(r2)

FOR j = 1 TO r1
PRINT j;
INPUT "Vvedite element pervogo massiva ", s$
mas1$(j) = s$
NEXT j

FOR j = 1 TO r2
PRINT j;
INPUT "Vvedite element vtorogo massiva ", s$
mas2$(j) = s$
NEXT j

asd = 0
FOR j = 1 TO r1
 FOR i = 1 TO r2
 IF mas1(j) = mas2(i) THEN
  asd = asd + 1
 END IF
 NEXT i
NEXT j

PRINT "Kolichestvo neravnyh elementov: "; asd




Автор: ses 22.4.2009, 15:02
Данкинг, найти нужно количество Неравных элементов. В таком случае нужно из общего количества элементов вычитать количество равных. Если позволишь, подправлю код  smile 

Код

CLS
INPUT "Vvedite razmernost' pervogo massiva: ", r1
INPUT "Vvedite razmernost' vtorogo massiva: ", r2
DIM mas1$(r1)
DIM mas2$(r2)
FOR j = 1 TO r1
PRINT j;
INPUT "Vvedite element pervogo massiva ", s$
mas1$(j) = s$
NEXT j
FOR j = 1 TO r2
PRINT j;
INPUT "Vvedite element vtorogo massiva ", s$
mas2$(j) = s$
NEXT j
asd = 0
FOR j = 1 TO r1
 FOR i = 1 TO r2
 IF mas1(j) = mas2(i) THEN  asd = asd + 1
 END IF
 NEXT i
NEXT j
PRINT "Kolichestvo neravnyh elementov: "; (r1+r2)-2*asd


правда все это будет работать при условии, что в самих массивах нет одинаковых по значению элементов...

Автор: Данкинг 22.4.2009, 15:44
Я думаю ещё, что, по идее, размерность обоих массивов должна быть равной...

Автор: ses 23.4.2009, 06:12
необязательно, ведь сравнение элементов по условию не попарное. 
к тому же проверяем условие во вложенных циклах

Автор: airyashov 23.4.2009, 07:48
Цитата(ses @ 22.4.2009,  15:02)
Данкинг, найти нужно количество Неравных элементов. В таком случае нужно из общего количества элементов вычитать количество равных. Если позволишь, подправлю код  smile 

Код

CLS
INPUT "Vvedite razmernost' pervogo massiva: ", r1
INPUT "Vvedite razmernost' vtorogo massiva: ", r2
DIM mas1$(r1)
DIM mas2$(r2)
FOR j = 1 TO r1
PRINT j;
INPUT "Vvedite element pervogo massiva ", s$
mas1$(j) = s$
NEXT j
FOR j = 1 TO r2
PRINT j;
INPUT "Vvedite element vtorogo massiva ", s$
mas2$(j) = s$
NEXT j
asd = 0
FOR j = 1 TO r1
 FOR i = 1 TO r2
 IF mas1(j) = mas2(i) THEN  asd = asd + 1
 END IF
 NEXT i
NEXT j
PRINT "Kolichestvo neravnyh elementov: "; (r1+r2)-2*asd


правда все это будет работать при условии, что в самих массивах нет одинаковых по значению элементов...

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)