IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
Closed Topic Открыть новую тему 
> Решение задач с двумерными массивами
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Я домучила программу. Нужно найти среднее арифметическое и геометрическое элементов массива.

Посмотрите,пожалуйста. И ещё несколько вопросов возникло: в среднем арифметическом деление идёт на количество слагаемых-я умножаю s*t, а ответ неверный получается.
Эта программка пока без нахождения геометрического.

Код
Program massive2;
Const
t=5;
s=5;
var
A: array [1..t,1..s] of integer;
I,j:integer;
Sum,proiz,k,arif,geom.:real;
Begin
For i:=1 to t do
Begin
For j:=1 to s do
Begin
Writeln (‘vvedi element massiva a[I,j]’);
Readln (a[I,j]);
End;
Sum:=0;
Proiz:=1;
For I:=1 to t do
For j:=1 to s do
Sum:=sum+A[I,j];
Proiz:=proiz*A[I,j];
K:=s*t;
Arif:=sum/k;
Writeln (‘arif=’,arif:5:2);
Readln;
End;
End.


Напишите,пожалуйста, где ошибки и как должно быть на самом деле!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Где ошибки - это тебе компилятор покажет... smile.gif

А что у тебя неверно - это первый цикл (ввод элементов) - не заканчивается там, где должен бы по логике:
For i:=1 to t do Begin
For j:=1 to s do Begin
Writeln ('vvedi element massiva a[I,j]');
Readln (a[I,j]);
End;
End; { <--- Вот это добавь здесь... }

... а из предпоследней строки End убери, он не нужен...

Кстати, вот тут:
For I:=1 to t do
For j:=1 to s do
Sum:=sum+A[I,j]; { В цикле будет вычисляться ТОЛЬКО эта строка !!! }
Proiz:=proiz*A[I,j]; { Это - вычислится один раз после цикла }

... и как следствие - опять будет неверный результат ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


простите за нескромный вопрос: И что делать дальше из второй цитаты? blink.gif Всмысле, как сделать так,чтобы вычисления шли в цикле, а не один раз?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


For I:=1 to t do
For j:=1 to s do
begin
Sum:=sum+A[I,j];
Proiz:=proiz*A[I,j];
end;


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Что видим:
For I:=1 to t do
For j:=1 to s do
Sum:=sum+A[I,j]; { В цикле будет вычисляться ТОЛЬКО эта строка !!! }

Proiz:=proiz*A[I,j]; { Это - вычислится один раз после цикла }

Данная запись эквивалентна следующей:
For I:=1 to t do
For j:=1 to s do
begin
Sum:=sum+A[I,j]; { В цикле будет вычисляться ТОЛЬКО эта строка !!! }
end;

Proiz:=proiz*A[I,j]; { Это - вычислится один раз после цикла }

Это не то, чего мы хотим.
Вместо этого нужно:
For I:=1 to t do
For j:=1 to s do
begin
Sum:=sum+A[I,j]; { В цикле будет вычисляться эта строка... }
Proiz:=proiz*A[I,j]; { ...и эта тоже }
end;

Учите матчасть: begin...end.
З.Ы. GoodWind меня опередил!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






привет народ!)помогите с задачкой)
Надо создать список домашних книг
1)Описать и вывести массив, содержащий 5 записей следующей структуры:
Название, автор, № учета, Дата издания, издательство.
2)Вывести массив в табличном виде.
3)Вывести списки книг издательства "Санкт-петербург", затем книг, изданных ранее 1990г.
4)найти самую старую книгу).


P.S. Народ помогите буду ОЧЕНЬ Благодарен!)) smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а зачем это писать в чужой теме с совершенно другими задачами?
тема закрыта.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 24.06.2017 22:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"