Страница 1 из 2
Массивы что то нехватает
Добавлено: 26 мар 2006, 16:44
topor

ваще как я понел это задание то что если ввести массив из 10 элементов например, задать число Z:=1, и M1[9]:=-5 а M1[10]:=1 то должно M1[9]:=-5 переставить на место M1[6]:=-5 а найденое M1[9]:=-5 заменить индексом т.е. M1[9]:=9 но что то неполучаеться ниче посмотрите это задание:
Найти последний отрицательный элемент массива, величина которого не превышает заданной величины, заменить его индексом и поставить на место шестого элемента а вот сама работа где ошибка ?
program yxyx;
var Z,i,a,n:integer;
var M1:array[1..20] of integer;
begin
{переменные
M1 – сам массив
Z заданная величина
I Индекс
N кол-во элементов в массиве
A от оператора варианта}
writeln ('выберите способ заполнения, 1-вруч., 2-автом.');
readln (A);
WRITELN ('ВВЕДИТЕ КОЛИЧЕСТВО ЭЛЕМЕНТОВ МАССИВА,не больше 20');
readln(n);
case a of
1:begin
for i:=1 to n do
begin
write ('M[',i,']=');
readln (M1
);
end;
end;
2:begin
randomize;
for i:=1 to n do
M1:=random(20);
end;
else begin writeln ('введено не правильное число');
readln;
exit;
end;
end;
writeln('введите Z'); {Заданая величина}
readln(Z);
for i:=n downto 1 do {Найти последний}
begin
if (M1<0) and (M1<Z) {Отрицательный элемент массива}
then
begin
M1[6]:=M1; {Поставить найденый на место 6}
M1:=i; {Заменить его индексом}
end;
end;
for i:=1 to n do write (M1:4); {Вот это строчка что значит так и немогу понять объясните по руссики}
readln;
end.
Добавлено: 26 мар 2006, 17:53
Duncon
for i:=1 to n do write (M1:4); {Вот это строчка что значит так и немогу понять объясните по руссики}
ну это цикл для i (Индекс) равное одному по возрастанию к n (кол-во элементов в массиве) делать do записать в массив...
Лень разбирать...
Добавлено: 27 мар 2006, 11:37
Игорь Акопян
а что за ошибка-то? вроде нормально всё?
for i:=1 to n do write (M1:4);
это просто вывод получившегося массива
Добавлено: 27 мар 2006, 23:05
topor
вот я заполняю в ручную тогда ваще чуш полная выходит как бы он ниче неделает а выводит индексы вот
Добавлено: 28 мар 2006, 09:21
Игорь Акопян
пример того что вводищь и то что на выходе.
ошибки в упор не вижу

Добавлено: 28 мар 2006, 16:59
topor
несмог картинку запостить посмотри на ссылке
http://b-taktik.narod.ru/im/test.jpg
вот посмотри как ошибка выходит:
смысл задания M1[6] приставить значение последнего отрицательного а найденому последнему отрицательному его индекс
например:
M1[1]=1 M1[2]=3 M1[3]=3 M1[4]=5 M1[5]=9 M1[6]=1 M1[7]=-5 ну и условие Z=1
то наместо M1[6]=-5 {значение 7 элемента} а M1[7]=7 {своему индексу} остальные элементы вообще не трогаем вот так должно.
А вот что получаеться креплю картинку с 3 тэстами.
а вот текст проги последния версия:
Код: Выделить всё
program massiva;
Uses CRT;
var
M1:array [1..20] of integer;
i,n,tip,Z:integer;
begin
clrscr;
TextBackground(black);
TextColor(green);
write('Введите количество элементов массива от 1 до 20 =');
readln(n);
write('заполнить 1 вручную , 2 автоматически =');
readln(tip);
case tip of
1:begin
for i:=1 to n do
begin
write('m1[',i,']=');
readln (m1[i]);
end;
end;
2:begin
randomize;
for i:=1 to n do
M1[i]:=random(20)-15;
end;
else
TextColor(red);
write('!!!неверный ввод!!!');
readln;
exit;
end;
write('Введите число Z ='); readln (Z);
for i:=n downto 1 do
begin
if (M1[i]<0) and (M1[i]<=Z) then
begin
M1[6]:=M1[i];
M1[i]:=i;
end;
end;
writeln ('----------------------------------------Массив----------------------------------');
for i:=1 to n do write (M1[i]:4);
readln;
end.
Добавлено: 29 мар 2006, 10:44
Игорь Акопян
расставил тебе тэг [ code ]
ошибке быть негде...
а вот не нравится мне конструкция else в case...
Добавлено: 29 мар 2006, 17:48
topor
:?: ПОДСКАЖИ пожалуста Ссылку или еще что-то где можно найти что нибудь где очень подробно расписаны массивы
вот мне скоко много надо 1 все а из 2 хотя бы 1\4 или общий вид я нашел кучи учебников но там такого даже не встретить как по стандарту все делают прям незнаю
1
- Как осуществляется поиск первого или последнего элемента массива, удовлетворяющего заданному условию
Как осуществляется поиск элемента массива, входящего в заданные пре-делы
Как осуществляется проверка элементов массива на кратность заданному числу
Как осуществляется перестановка местами двух элементов в одномерном массиве
Как осуществляется сдвиг нескольких элементов в одномерном массиве
Как осуществляется перестановка элемента в начало или конец одномер-ного массива
2
- Найти первый положительный элемент массива, изменить у него знак и поставить в начало массива.
Найти первый нулевой элемент массива, заменить его квадратом ин-декса и поставить в конец массива.
Найти первый отрицательный элемент массива, заменить его обратной величиной и поставить в конец массива.
Найти последний положительный элемент массива, изменить у него знак и поставить на место второго элемента.
Найти последний нулевой элемент массива, заменить его индексом и поставить на место пятого элемента.
Найти последний отрицательный элемент массива, умножить его на за-данное число и поставить в начало массива.
Найти первый положительный элемент массива, величина которого не превышает заданной величины, возвести его в квадрат и поставить в конец мас-сива.
Найти первый положительный элемент массива, величина которого больше заданной величины, заменить его обратной величиной и поставить на место второго элемента.
Найти последний положительный элемент массива, величина которого не превышает заданной величины, сменить у него знак и поставить в начало массива.
Найти последний положительный элемент массива, величина которого больше заданной величины, сменить у него знак и поставить на место третьего элемента массива.
Найти последний отрицательный элемент массива, величина которого не превышает заданной величины, заменить его индексом и поставить на место шестого элемента.
Найти последний отрицательный элемент массива, величина которого больше заданной величины, возвести его в квадрат, и поставить на место пред-последнего элемента.
Найти последний отрицательный элемент массива, модуль которого не превышает заданной величины, заменить его модулем и поставить в конец мас-сива.
Найти последний отрицательный элемент массива, модуль которого больше заданной величины, умножить его на первый элемент массива и поста-вить на место четвертого элемента.
Найти первый положительный элемент массива, величина которого на-ходится в заданных пределах, разделить его на заданное число и поставить на место третьего элемента.
Найти последний положительный элемент массива, величина которого находится в заданных пределах, умножить его на последний элемент и поста-вить в начало массива.
Найти первый отрицательный элемент массива, величина которого на-ходится в заданных пределах, заменить его индексом и поставить на место пя-того элемента.
Найти последний отрицательный элемент массива, величина которого находится в заданных пределах, возвести его в квадрат и поставить в начало массива.
Найти первый отрицательный элемент массива, модуль которого нахо-дится в заданных пределах, заменить его обратной величиной и поставить на место шестого элемента.
Найти последний отрицательный элемент массива, модуль которого находится в заданных пределах, заменить его модулем и поставить в конец массива.
Найти минимальный элемент массива, сменить у него знак и поставить в конец массива.
Найти максимальный элемент массива, заменить его обратной величи-ной и поставить в конец массива.
Найти минимальный положительный элемент массива, возвести его в квадрат, и поставить на место второго элемента.
Найти максимальный отрицательный элемент массива, заменить его индексом и поставить в начало массива.
Найти первый элемент массива, кратный заданному числу, заменить его обратной величиной и поставить в конец массива.
Найти первый положительный элемент массива, кратный заданному числу, заменить его квадратом и поставить на место предпоследнего элемента.
Найти первый отрицательный элемент массива, кратный заданному числу, сменить у него знак и поставить в начало массива.
Найти последний элемент массива, кратный заданному числу, заменить его индексом и поставить в конец массива.
Найти последний положительный элемент массива, кратный заданному числу, заменить его обратной величиной и поставить на место второго элемен-та.
Найти последний отрицательный элемент массива, кратный заданному числу, возвести его в квадрат, и поставить в начало массива.
Добавлено: 30 мар 2006, 11:10
Blood_Magic
Добавлено: 30 мар 2006, 11:14
Blood_Magic
topor писал(а)::?: ПОДСКАЖИ пожалуста Ссылку или еще что-то где можно найти что нибудь где очень подробно расписаны массивы
вот мне скоко много надо 1 все а из 2 хотя бы 1\4 или общий вид я нашел кучи учебников но там такого даже не встретить как по стандарту все делают прям незнаю
я думаю, тут не ссылочка нужна, а голова программера, или хотя бы первый курс ВУЗ'a