Помогите пожалуйста студентки, массивы |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Помогите пожалуйста студентки, массивы |
-Даша- |
Сообщение
#1
|
Гость |
1)Ввести 10 целых чисел, вычислить сумму чисел, начиная с минимального до последнего элемента.
2)Сформировать массив [4x6], поменять местами столбец с макс. элементом и столбец с минимальным элементом. 3)Сформировать массив [5x5], найти максимальнй элемент, находящийся выше главной диагонали и минимальный элемент, наход-ся ниже главной дипгонали. Всем очень признательна заранее за помощь |
Айра |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Задачи ведь несложные..
В FAQ'e есть пример циклов, которые проходят по элементам выше\ниже диагоналей; задач на минимум и максимум тоже решалось очень много. Почитай темы и попробуй сделать что-нибудь, а потом, если что, поправим)) |
Гость |
Сообщение
#3
|
Гость |
Задачи ведь несложные.. В FAQ'e есть пример циклов, которые проходят по элементам выше\ниже диагоналей; задач на минимум и максимум тоже решалось очень много. Почитай темы и попробуй сделать что-нибудь, а потом, если что, поправим)) Ну тогда поправляй (сегодня просто надо сдавать эти задачки): 1)вот что я сделала, только не смейтесь: uses crt; var a:array[1..10] of integer; min,k,i,sum,n,s:integer; begin randomize; clrscr; for i:=1 to 10 do begin a[i]:=random(100)-5; end; min:=a[1]; for i:=1 to 10 do begin if a[i]<min then min:=a[i]; end; write('Massiv sostoit:'); for i:=1 to 10 do begin write (a[i], ' '); if min:=a[i] then write (i,' '){вот здесь выводиться номер минимального элемента, а как его запомнить в виде отдельной переменной не знаю?} end; writeln; writeln begin s:=0; k:=min; {как присвоить переменной К номера минимального элемента?} for i:=k to 10 do s:=k+a[i]; writeln; writeln ('Summa elementov',s); end; readkey; end. |
Айра |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Вот:
uses crt; добавлено: я изменила значение random, чтоб можно было самой посчитать и проверить, так что это не суть важно.. Заметь, что если в операторе цикла\условия\и т.п. выполняется только один оператор, то begin\end можно не писать.. Сообщение отредактировано: Айра - |
Гость |
Сообщение
#5
|
Гость |
Ой Айра огромное тебе спасибо за помощь! Очень хорошо всё объяснила.
С этой программкой разобралась. Сейчас попробую сделать оставшиеся 2. Надеюсь ты мне поможешь, ну или кто-нибудь другой. |
Айра |
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
загляни сюда, если еще не смотрела..
Массивы. Матрицы. Типичные задачи. |
-Даша- |
Сообщение
#7
|
Гость |
Айра посмотри, вот что получилось:
3)program zadanie3; uses crt; var m: array[1..5,1..5] of integer; i,j:byte; max,min:integer; k1,k2:byte; s: byte; maxi,maxj,mini,minj: byte; begin clrscr; repeat write('Введите размерность квадратной матрицы до 5: '); readln(s); until (s>0) and (s<=5); clrscr; for i:=1 to s do for j:=1 to s do begin write('Введите элемент матрицы: '); readln(m[i,j]); end; clrscr; writeln('Исходная матрица:'); writeln; for i:=1 to s do begin for j:=1 to s do write(m[i,j]:5); writeln; end; k1:=0; k2:=0; max:=m[1,2]; min:=m[2,1]; for i:=1 to s do for j:=1 to s do begin if (i<j) and (m[i,j]>max) then begin max:=m[i,j]; readln; writeln; Writeln('Min element ниже гл. диаг.',max); что-то я запуталась? end; if (i>j) and (m[i,j]<min) then begin min:=m[i,j]; readln; writeln; Writeln('Max element выше гл. диаг.',min); что-то я запуталась? end; end; for i:=1 to s do for j:=1 to s do begin if (i<j) and (m[i,j]=max) then k1:=k1+1; if (i>j) and (m[i,j]=min) then k2:=k2+1; end; if (k1>1) or (k2>1) then begin writeln('В матрице больше одного мин элта ниже гл диагонали и одного макс элта выше'); writeln('Нажмите любую клавишу'); readkey; end; end. |
Айра |
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Запуталась))
все намного проще:
p.s. используй теги pascal\delphi, так понятнее код будет )) Сообщение отредактировано: Айра - |
-Даша- |
Сообщение
#9
|
Гость |
Айра спасио тебе ещё раз!
И вот, последнюю сделала, вроде: 2)var a:array[1..4,1..6] of integer; max,min,m1,m2,i,j,t:integer; begin randomize; min:=9999; max:=0; for i:=1 to 4 do begin for j:=1 to 6 do begin a[i,j]:=random(50); write(a[i,j]:3); if a[i,j]<min then begin min:=a[i,j]; m1:=j; end; if a[i,j]>max then begin max:=a[i,j]; m2:=j; end; end; writeln; end; for i:=1 to 4 do begin t:=a[i,m1]; a[i,m1]:=a[i,m2]; a[i,m2]:=t; end; writeln('rezultat:'); for i:=1 to 4 do begin for j:=1 to 6 do begin write(a[i,j]:3); end; writeln; readln; end; end. |
Айра |
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Вроде сделала))
readln в конце лучше убрать из цикла.. только смотри, а мы уверены, что в массиве у нас, например, только положительные элементы будут? (я не знаю как по заданию).. просто если сделать массив из целиком отрицательных, то значение максимума будет найдено не верно, точнее оно так и останется нулем, и тогда программа вылетит при попытке поменять местами столбцы.. |
Гость |
Сообщение
#11
|
Гость |
Запуталась)) все намного проще:
p.s. используй теги pascal\delphi, так понятнее код будет )) Почему-то программа не работает? Ошибку выдаёт паскаль:Runtime error 106 at 0000:0097 |
Айра |
Сообщение
#12
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
хм.. а что ты ввела? может я что-то не предусмотрела..
|
Айра |
Сообщение
#13
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Такая ошибка выскакивает если вместо цифр, которые у нас ожидаются, ввести символ..
Это один из вариантов.. |
Гость |
Сообщение
#14
|
Гость |
|
Ютани |
Сообщение
#15
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Помогите пожалуйста решить эту задачу
В случайном двухмерном массиве программа находит максимальный и минимальный выводит на экран массив и эти элементы |
Айра |
Сообщение
#16
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата Но вот только почему-то цифры надо вводить самой, рандом не работает? Ну так потому что он закомментирован)) убери "//" перед ним и он заработает, только тогда убери и заполнение массива вручную.. to Ютани: поиск + не нужно постить свои вопросы в чужих темах.. (кстати часть решения твоей задачи, есть и здесь) Сообщение отредактировано: Айра - |
Текстовая версия | 11.01.2025 5:03 |