Массивы |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Массивы |
olga |
12.12.2002 15:41
Сообщение
#1
|
Гость |
Помогите решить такие две задачки:
Добавить к одному, сортированному по возрастающей, 3 элементному массиву(из целых чисел, значения которых от -999 до 9999), от одного элемента до 25(включит.) элементов следующим образом: результат каждого прибавления не должен быть убывающим;. Если из этого будет возможно сделать квадратную матрицу, то сделать и найти сумму элементов главной диагонали матрицы. Если нет, то надо вывести матрицу по 3 элемента в ряд. Ввести двумерный массив m*n(m=n+2; 2<=n<=40), значения элементов массива от 1 до 9. Найти суммы столбцов. Потом, из каждой колонки убрать по 2 элемента(один элемент соответс. индексу колонки и предыдущий элемент. напр. из 3 колонки убрать 3 и 2 элемент). |
Ivs |
12.12.2002 17:45
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 209 Репутация: 0 |
В условии второй задачи: "убрать 2 элемента" имеется ввиду обнулить их значения........ ???
-------------------- Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
|
olga |
14.12.2002 12:41
Сообщение
#3
|
Гость |
Цитата В условии второй задачи: "убрать 2 элемента" имеется ввиду обнулить их значения........ ??? Да, обнулить. Я написала как это сделать: Код uses crt; const a=42; var mas:array [4..a+2,2..a] of byte; i,j,x:byte; s:word; begin clrscr; randomize; write('Vvedite kolitsestvo elementov v massive. x= '); readln(x); {Sozdanie massiva} writeln('Massiv:'); for j:=1 to x+2 do begin for i:=1 to x do begin mas[j,i]:=random(9)+1;{min- 1; max- 9} write(mas[j,i]:2); end; writeln; end; readkey; {Summa stolbzov} writeln('Summa:'); for i:=1 to x do begin s:=0; for j:=1 to x+2 do s:=s+mas[j,i]; writeln('Summa ',i,' stolbza:',s:3); end; readkey; {Obnullenie massiva} writeln('Obnullenie elementov massiva:'); for j:=1 to x+2 do begin if j<=x then mas[j,j]:=0; if j+1<=x then mas[j,j+1]:=0; end; for j:=1 to x+2 do begin for i:=1 to x do write(mas[j,i]:2); writeln; end; repeat until keypressed; end. Только я не знаю как поднять не обнулленый элементы вверх. |
Дядя Борланд |
22.12.2002 2:27
Сообщение
#4
|
Гость |
Если в условии написано убрать элемент значит его надо убрать. Делается это просто, сдвигаем значения элементов столбца на два элемента вверх. А в конце когда ты уже извратилась над всеми столбцами. Уменьшаем индекс который отвечает за строки на два т. е. не выводим две нижние строчки так как значения элементов у каждого столбца сдвинулись на два вверх. Идея проста осталось дело за малым реализовать ее на практике. Если что не будет получаться пиши с радостью отвечу. Извини а в чем собственно трудность 1-й задачи, вроде все просто. Может есть какие-то конкретные вопросы у тебя?
|
Текстовая версия | 1.10.2024 11:11 |