Двумерный Массив, Последние столбцы массива |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Двумерный Массив, Последние столбцы массива |
forMator |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Не получается найти последние f столбцы и вычислить их среднее арифметическое. Размерность матрицы k на l.
Запутался в циклах!Последние f столбцы нашёл,а при вычислении среднего арифметического выдаётся неправильный ответ. |
volvo |
Сообщение
#2
|
Гость |
Цитата при вычислении среднего арифметического выдаётся неправильный ответ. Код в студию... |
forMator |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Код Program primer; const k=4; const l=5; Var M:array[1..k,1..l] of integer; i,j,f,c:integer; begin for i:=1 to k do for j:=1 to l do begin write('M[',i,',',',j,']='); readln(M[i,j]); end; write('vvedi f poslednix ctolbcov='); for i:=1 to k do for c:=f to l do а дальше загнался, хотя в голове заранее продумывал, вроде получалось.... |
volvo |
Сообщение
#4
|
Гость |
Ты меня, конечно извини, но здесь НИКАКОГО ответа не выдается, ибо что ты дальше делаешь - известно только тебе... Думай дальше, если не хочешь показывать весь код... Телепаты в отпуске.
|
forMator |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Ну хорошо,сможешь хотябы подсказать как найти среднее арифметическое последних столбцов в двумерном массиве..
|
klem4 |
Сообщение
#6
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
среднее арфиметическое последних f столбцов :
s := 0; RowCount - количество строк ColCount - количество столбцов -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
forMator |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Код Program primer; Const k=3;l=3; Var M:array[1..k,1..l] of integer; i,j,s,f:integer; sum:real; begin for i:=1 to k do for j:=1 to l do begin write('M[',i,',',j,']='); readln(M[i,j]); end; write('vvedi f=');read(f); s:=0; for i:=1 to k do for j:=l-f+1 to l do s:=M[i,j]+s; sum:=s/(k*f); readln; writeln('crednee ariphmeticheckoe=',sum:3:2); readln; end. Посидел помозговал, вот такое получилось.. Воспользовался советом, но не работает.. выдаёт не правильное среднее арифметическое.. Сообщение отредактировано: forMator - |
мисс_граффити |
Сообщение
#8
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
правильно.
просто у тебя выводится на экран построчно. то есть последние 3 числа, которые ты видишь - это не последний столбец, а последняя строка. вставь такой фрагмент: Код for i:=1 to k do begin for j:=1 to l do write(m[i,j], ' '); writeln; end; и сам все увидишь Сообщение отредактировано: мисс_граффити - -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
forMator |
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Всем большое спасибо за помощь!!1
|
forMator |
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
А как сосчитать сумму первых p-элементов в двумерном массиве?
|
klem4 |
Сообщение
#11
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Это зависит от того как ты собираешься идти по матрице. Сверху вниз справа на лево, а может быть по спирали из центра ? Гадать никто не собирается.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
forMator |
Сообщение
#12
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Сверху вниз слева направо! Пробовал сам не получается!
|
volvo |
Сообщение
#13
|
Гость |
Цитата Пробовал сам Как пробовал, можно посмотреть? |
klem4 |
Сообщение
#14
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
i := 1; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
forMator |
Сообщение
#15
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Конечно!
Код Program Primer; Const n=3;m=4; Var X:array[1..n,1..m] of integer; i,j,p,s:integer; begin s:=0; writeln('vvod matrici'); for i:=1 to n do begin for j:=1 to m do read(X[i,j]); readln; end; write('vvedi pervie p elementi='); read(p); for i:=1 to n do for j:=1 to p do s:=s+X[i,j]; writeln('summa pervix p elementov=',s); readln; end. Сообщение отредактировано: forMator - |
forMator |
Сообщение
#16
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
А можно ещё вопрос??!!
Нужно поменять местами элементы к-го и р-го столбцов! Написал! А элементы программа меняет только в последней строке! Код Program ne; Const n=3;l=4; Var m:array[1..n,1..l] of integer; i,j,k,p,c:integer; begin writeln('vvod matrici'); for i:=1 to n do begin for j:=1 to l do read(M[i,j]); readln; end; write('vvedi k-i ctolbec='); read(k); write('vvedi p-i ctolbec='); read(p); c:=m[n,k]; m[n,k]:=m[n,p]; m[n,p]:=c; for i:=1 to n do begin for j:=1 to l do write(m[i,j],' '); writeln; readln; end; end. |
мисс_граффити |
Сообщение
#17
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
ты что-то с циклами и begin/end намудрил....
Код c:=m[n,k]; m[n,k]:=m[n,p]; m[n,p]:=c; это не внутри цикла. вот и выполняется один раз... в первом у тебя неправильно пределы циклов расставлены. она сумму не p элементов посчитает, а p*n элементов. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
klem4 |
Сообщение
#18
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
forMator, Смотри пост №14 я открыл ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
forMator |
Сообщение
#19
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Большое СПАСИБО!!
|
forMator |
Сообщение
#20
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Пытаюсь решить задачу!Опять же с двумерном массивом!!
Дана квадратная матрица разм. n на n. Вычислить сумму элементов тех столбцов первый элемент которых равен 1! Нужен ли здесь одномерный массив для вывода этих сумм? Или же можно обойтись и без него!! И как можно посчитать сумму столбцов где 1, описывая через string что ли??? Я делаю через string, а TP мне сразу выдаёт ошибку!! Подскажите пожалуйста как найти эту сумму!!!!! Код Program lo; Const n=5; Var a:array[1..n,1..n] of integer; b:array[1..n] of integer; i,s:integer;j:string; begin writeln('vvod matrici'); for i:=1 to n do begin for j:=1 to n read(a[i,j]); readln; end; if j='1' then begin for i:=1 to n do begin s:=0; for i:=1 to n do begin s:=s+a[i,j]; end; b[j]:=s; end; end; |
Текстовая версия | 25.01.2025 4:17 |