Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 16:10   #1
Ximer
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 35
Сообщение Элементы массива

Помогите пожалуйста. Где в программе ошибка?

Задайте массив из n элементов. Элементы, больше 55, заменить на максимальный. Выведите на экран исходный и получите массив.

Код:
uses crt;
var m:integer;
     n,max,i:integer;
 
begin
 clrscr;
 randomize;
 write('Размерность: ');
 readln(n);
 writeln('Исходный массив');
 for i:=1 to n do
 begin
  m[i]:=random(100)+10;
  write(m[i],' ');
 end;
 
 max:=m[1];
 for i:=1 to n do if m[i]>max then max:=m[i];
 
 for i:=1 to n do if m[i]>55 then m[i]:=max;
 writeln('Полученный массив');
 for i:=1 to n do
 begin
  m[i]:=random(100)+10;
  write(m[i],' ');
 end;
 
 readln;
end.
Ximer вне форума Ответить с цитированием
Старый 20.04.2009, 18:11   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Во-первых: у вас m - массив, а вы его объявляете как переменную:
Код:
var m:integer;
надо:
Код:
var m: array[1..100] of integer;
Во-вторых, при выводе полученного массива вы заново генерируете значения.
Код:
m[i]:=random(100)+10;
Не увлекайтесь копипастом.


---------------------
ily14.1993, правила не для вас?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.04.2009, 18:25   #3
Ximer
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 35
По умолчанию

Спасибо!!!
Ximer вне форума Ответить с цитированием
Старый 21.04.2009, 15:36   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от ily14.1993
вот первая задача можете поправить?
Еще раз: прочитайте правила!
Не пишите в чужих темах. Код заключайте в теги CODE.
Указывайте что работает не так в программе.

Вот:
Код:
Uses Crt;
Type Mas=Array [1..10] of real;
Var A:MAS;
M,i:Integer;
S,P:Real;
Begin
ClrScr;
Write('M=');
Readln(M);
For i:=1 to 10 do
Begin
Write('A[',i,']=');
Readln(A[i]);
end;
S:=0;
P := 1;
For i:=1 to 10 do
 begin
 p := p*a[i];
 if p>m then break;
 s:=s+a[i];
 end;
Writeln('summa =',S:5:2);
Readln
END.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 15:12   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от ily14.1993
я создел тему свою помогите!!!!!!!!!
Вот потому, что вы ее так назвали, ее и закрыли.
Если б вы прочитали правила, то таких проблем бы не было.
Зачем вы еще раз привели тот же листинг? Я уже его исправил! Или вы не смотрите, что вам пишут?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.04.2009, 00:53   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
из этого S:5:2?
5 - ширина поля вывода
2 - число знаков после запятой

mod - оператор взятия остатка от деления.
3 mod 5 = 3, потому что 3/5 = 0*5 + 3

Цитата:
А вторую задачу можете написать а то я вообще незнаю что такое матрица щас вот завтра в учебнике по паскалю буду читать
Ну вот прочитаете и напишете. А если воспользуетесь поиском, то найдете готовое решение.

Матрица - прямоугольная таблица данных. Массив массивов.
Код:
1 2 3
4 5 6
7 8 9
матрица размерности 3x3.
Объявляется так:
Код:
matr : array[1..m,1..n] of integer;
матрица размерности mxn
Обращение к элементу матрицы: matr[i,j]
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить элементы массива Маськ@ Паскаль, Turbo Pascal, PascalABC.NET 1 21.12.2008 17:46
Си. Как суммировать элементы массива? dma Помощь студентам 2 06.12.2008 17:11
Элементы массива в листбокс KiDoki Общие вопросы Delphi 4 07.10.2008 18:05
Повторяющиеся элементы массива Stanislav Общие вопросы Delphi 10 23.05.2008 12:31
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44