Нужна помощь в задаче! Пожалуйста, надо сдать!
Даны натуральное число n, действительная матрица размера n9. найти средне арифметическое:
а) каждого из столбцов; б) каждого из столбцов, имеющих чётные номера. ЕСЛИ НЕ СЛОЖНО ТО ПРОГРАММУ НАПИСАТЬ ПОЛНОСТЬЮ С НАЧАЛА!!!!!ПОЖАЛУЙСТА!!!!:tehnari_ru_121::tehnari_ ru_121::tehnari_ru_121::tehnari_ru_121: |
1) что есть
Цитата:
2) а почему бы вам самим не попробовать? что не получится, мы подскажем |
Цитата:
|
выкладывайте
|
Program bukvaa;
uses crt; const m=9; var i,j,n:integer; a:array[1..m,1..n] of real; begin clrscr; writeln('hghjghjg'); writeln; randomize; for i:=1 to n do begin s:=0; for j:=1 to m do s:=s+a[m,n]; s:s/m; writeln('ghfghfghf',i,'knbkbn',s); end. строго не судите я просто мало понимаю эту тему((( |
а на счет n9 это выглядит так nx9
|
1) a:array[1..m,1..n] of real;
так нельзя обявлять размер массива. N должна быть константой, либо постоянным числом. Замените на: a:array[1..m,1..20] of real; 2) переменная s должна быть описана как вещественный тип, т.к. для нее будет применяться деление: s:real; 3) s:s/m; В операции присваивания пропущен знак =. Должно быть так: s:=s/m; 4) у вас отсутствует задание (ввод) массива и числа n 5) for i:=1 to n do begin у вас нет закрывающейся операторной скобки для выделенного begin'a. Поставьте его после writeln('ghfghfghf',i,'knbkbn',s); да и вообще, выводить лучше осмысленный текст, дабы было понятно, что программа выводит |
спасибо щас попробую исправить
|
вот 4 пункт не могу сообразить что куда !!!!
|
вот что получилось
Program bukvaa; uses crt; const m=9; n=10; var i,j:integer; s:real; a:array[1..m,1..n] of real; begin clrscr; writeln('fdgf'); writeln; randomize; for i:=1 to n do begin s:=0; for j:=1 to m do s:=s+a[m,n]; s:=s/m; writeln('ghfghfghf',i,'knbkbn',s); readln end; end. |
Я поправил пост, в 4ом пункте скобка не там стояла. Массив у вас не задан - все элементы в нем нули. Массив поэлементно либо вводится с клавиатуры, либо задается функцией random. Если она не используется, то процедура randomize абсолютно лишняя в программе
|
Program bukvaa;
uses crt; const m=9; n=10; var i,j:integer; s:real; a:array[1..m,1..n] of real; begin clrscr; writeln('vvedite kolichestvo stolbzov'); writeln; for i:=1 to n do begin s:=0; for j:=1 to m do s:=s+a[m,n]; s:=s/m; writeln('srednee arifmeticheskoe elementov ',i,' stolbza',s); readln end; end. вроде написал но не пойму почему не работает как надо(( |
Нули выводит? Логично, у вас в программе отсутствует ввод массива, поймите вы наконец. Если массив не введен, то в памяти по умолчанию выставляются нули.
Далее, вы пишете: 'введи количество столбцов'. Если вы хотите, что бы программа прочитала что-то с клавиатуры, должны поставить оператор readln. Но количество столбцов n у вас уже задано константой. Вы можете: сделать n переменной, размер массива задать как число ~20-30, больше врядли будете вводить, и организовать ввод n; либо отказаться от ввода количества строк с клавиатуры. И обязательно сделать ввод массива |
1)да выводит нули
2)как сделать ввод массива ? |
Ну как обычно вводится массив? В цикле. А двумерный массив вводится во вложенном цикле. Вот ваш фрагмент:
writeln('Type the array by a string and press Enter key'); //введи массив по строкам и нажми клавишу Энтер for i:=1 to n do begin for j:=1 to m do read(a[i,j]); readln; end; |
Спасибо большое что отозвались на помощь!!!!!!Но я все равно делаю видимо не так и он все время выводит нули(((
просто не охота вас доставать!!!! |
Ничего страшного, я привык :) Вы еще хороший ученик :) Давайте уже всю программу, будем править
|
Program bukvaa;
uses crt; const m=9; n=10; var i,j:integer; s:real; a:array[1..m,1..n] of real; begin clrscr; writeln; writeln; randomize; writeln('vvedite massiv po strokam'); for i:=1 to n do begin for j:=1 to m do read(a[i,j]); readln; for i:=1 to n do begin s:=0; for j:=1 to m do s:=s+a[m,n]; s:=s/m; writeln('srednee arifmeticheskoe elementov ',i,' stolbza',s); readln end; end; end. |
написали бы её сами и не мучилась бы с объяснениями!!да и мне может попроще так бы было
|
Program bukvaa;
uses crt; const m=9; n=10; var i,j:integer; s:real; a:array[1..m,1..n] of real; begin clrscr; writeln; writeln; randomize; writeln('vvedite massiv po strokam'); for i:=1 to m do begin for j:=1 to n do read(a[i,j]); readln; end; for i:=1 to n do begin s:=0; for j:=1 to m do s:=s+a[m,n]; s:=s/m; writeln('srednee arifmeticheskoe elementov ',i,' stolbza',s); readln end; end. Исправил вам свою ошибку в процедуре ввода, и переставил один энд в положенное место. Проверяйте Я сам сейчас не могу написать, время позднее. Ваш вариант довольно легок. Да и вы все-таки должны разобраться |
Дублирующий запрос из чужой темы http://www.tehnari.ru/f41/t32005/ удален.
Модератор. |
Здравствуйте !!!!Я опять со своей задачей!!!!!два дня вас не беспокоил но вижу сам не справлюсь я не могу закончить программу(((кто нибудь может написать мне её от начала до конца пожалуйста!!!!!мне завтра сдавать (((БУДУ ОЧЕНЬ ПРИЗНАТЕЛЕН!!!!
ЗАДАНИЕ МОЖЕТЕ УВИДЕТЬ ВЫШЕ,А ТАКЖЕ НЕ ПОЛНУЮ ВЕРСИЮ ПРОГРАММЫ. |
Цитата:
1. Параметры i и n относятся к СТРОКАМ. 2. Параметры j и m относятся к СТОЛБЦАМ. 3. Обозначение матрицы n x m и, соответственно, массива A[1..n,1..m] означает n строк и m столбцов. Код:
Program bukvaa; |
Огромное Вам СПАСИБО!!!!!!
|
А не знаете кто мог бы помочь с блок схемами?
|
А какое задание для схемы?
|
задание одно это же другое я сам написал но со схемами у меня вообщем беда((
|
помогите с написанием программы по массивамнадо сдать
|
Цитата:
kazax, создайте свою тему, и опишите задание полностью, Телепат с форума уволился |
MrSTEP я создал свою тему и задание выклал ,можете посмотреть и подсказать?
|
если найду и пойму, что вы там наклали, то подскажу
|
щас будет тексты программ
|
program zadacha1;
uses crt; const n=10; var i:integer; q:array [1..n] of integer; begin clrscr; randomize; writeln ('lybie 10 chisel'); for i:=1 to n do begin q[i]:=random (100); write (q[i],' '); end; writeln; writeln ('iz nih nugnie'); for i:=1 to n do if (q[i] mod 2=0) and (q[i] mod 4<>0) then write (q[i],' '); readln end. ии.... Program bukvaa; uses crt; const n=10; m=9; var i,j:integer; s:real; a:array[1..n,1..m] of real; begin clrscr; writeln('vvedite massiv'); for i:=1 to n do for j:=1 to m do begin write('a[',i,',',j,']= '); readln(a[i,j]); end; writeln; for i:=1 to n do begin for j:=1 to m do write(a[i,j]:6:2); writeln; end; writeln('nagmite "Enter" '); readln; for j:=1 to m do begin s:=0; for i:=1 to n do s:=s+a[i,j]; s:=s/n; writeln('srednee arifmeticheskoe elementov ',j,' stolbza',s:6:2); end; readln; end.(отдельное спасибо за эту программу Vladimir S) |
Попробую разобрать и сделать. У меня есть сутки?
|
до завтра это крайний срок(((
если вы не будете против я тоже буду пытаться сделать,потом сверю с вашим если у меня что получиться??? |
Цитата:
|
Вложений: 2
Готово. Во второй задаче опустил вывод массива сразу после ввода
|
СПАСИБО!!!!!!!!
|
Помогите в решении еще двух задач пожалуйста!!!
Даны целые числа а1,…,а50. Получить последовательность b1,…,b50, которая отличается от исходной тем, что все члены удвоены. Дана действительная матрица 18 х n. Найти значение наибольшего по модулю элемента матрицы, а также индексы данного элемента. |
Даны целые числа а1,…,а50. Получить последовательность b1,…,b50, которая отличается от исходной тем, что все члены удвоены.
Код:
program mas1; |
Часовой пояс GMT +4, время: 04:04. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.