Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Нужна помощь в задаче! Пожалуйста, надо сдать! (http://www.tehnari.ru/f41/t35873/)

MrSTEP 09.05.2010 23:44

Я поправил пост, в 4ом пункте скобка не там стояла. Массив у вас не задан - все элементы в нем нули. Массив поэлементно либо вводится с клавиатуры, либо задается функцией random. Если она не используется, то процедура randomize абсолютно лишняя в программе

Строитель 10.05.2010 00:01

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.

вроде написал но не пойму почему не работает как надо((

MrSTEP 10.05.2010 00:10

Нули выводит? Логично, у вас в программе отсутствует ввод массива, поймите вы наконец. Если массив не введен, то в памяти по умолчанию выставляются нули.
Далее, вы пишете: 'введи количество столбцов'. Если вы хотите, что бы программа прочитала что-то с клавиатуры, должны поставить оператор readln. Но количество столбцов n у вас уже задано константой. Вы можете: сделать n переменной, размер массива задать как число ~20-30, больше врядли будете вводить, и организовать ввод n; либо отказаться от ввода количества строк с клавиатуры.
И обязательно сделать ввод массива

Строитель 10.05.2010 00:12

1)да выводит нули
2)как сделать ввод массива ?

MrSTEP 10.05.2010 00:20

Ну как обычно вводится массив? В цикле. А двумерный массив вводится во вложенном цикле. Вот ваш фрагмент:
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;

Строитель 10.05.2010 00:33

Спасибо большое что отозвались на помощь!!!!!!Но я все равно делаю видимо не так и он все время выводит нули(((
просто не охота вас доставать!!!!

MrSTEP 10.05.2010 00:36

Ничего страшного, я привык :) Вы еще хороший ученик :) Давайте уже всю программу, будем править

Строитель 10.05.2010 00:41

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.

Строитель 10.05.2010 00:44

написали бы её сами и не мучилась бы с объяснениями!!да и мне может попроще так бы было

MrSTEP 10.05.2010 00:47

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.

Исправил вам свою ошибку в процедуре ввода, и переставил один энд в положенное место. Проверяйте

Я сам сейчас не могу написать, время позднее. Ваш вариант довольно легок. Да и вы все-таки должны разобраться


Часовой пояс GMT +4, время: 08:49.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.