|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.10.2012, 00:40 | #1 |
Регистрация: 07.10.2012
Сообщений: 4
|
Delphi. Одномерный массив.
Задача (Delphi, консольное).
Ввести одномерный целочисленный массив размерностью не более 5 элементов (размерность определяется по запросу). 1. Найти среднее арифметическое чётных элементов (если их нет - сообщить). 2. Создать массив из элементов, кратных 3. Если их нет - сообщить, иначе вывести новый массив. 3. Найти максимальный отрицательный элемент исходного массива. Если отрицательных элементов нет - сообщение. Вот, собственно говоря, код: Код HTML:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var i, N :byte;
k,c:integer;
A:array [1..5] of integer;
B:array [1..5] of integer;
SrArifm, Summa, amax: real; // summa - сумма чётных чисел масс. А, c - количество чётных чисел
begin
Writeln('Vvedite kolichestvo elementov massiva: ');
Readln(n);
Writeln('Vvedite massiv: ');
For I:=1 to N do
Begin
Write('A[', I, '] = ');
Readln(A[I]);
End;
Summa:=0;
c:=0;
for I := 1 to N do
if A[i] mod 2 = 0 then
Begin
c:= c+1;
Summa:= Summa +A[I];
SrArifm:= Summa/c;
End;
if A[i] mod 2 <> 0 then Writeln ('Net chetnyh!')
else
Writeln('kolichestvo chetnyh chisel: ',c);
Writeln('Srednee arifmeticheskoe chetnyh chisel ravno ', SrArifm:6:2);
For I := 1 to N do
if a[i] mod 3=0
then
Begin
k:=k+1;
B[K]:=A[I];
end;
if a[i] mod 3 <>0 then
Writeln('Net elementov, kratnyh 3! ');
Writeln('Massiv B: ');
For I:=1 to k do
Writeln(B[I]);
for I := 1 to N do
if a[i]<0
then
Amax:=A[1];
if A[i]>Amax then
Amax:=A[i];
Writeln('Maksimalniy otricatelnyi element massiva A Amax= ', Amax:6:2);
Readln;
end.
запускаем, вводим N=5. Вбиваем числа: 11 7 5 13 17, нет чётных чисел, нет чисел, кратных трём. Программы выводит: чёт чисел 0 - верно, ср. арифм. чётных 0 - верно, массив Б - пусто - верно, макс. отриц. элемент массива А = 0 - (ну вроде как верно). А вот такой вопрос: смотрите, я же в коде писал if A[i] mod 2 <> 0 then Writeln ('Net chetnyh!') и if a[i] mod 3 <>0 then Writeln('Net elementov, kratnyh 3! '); - почему эти сообщения не вывелись? Ещё раз: запускаем, вводим N=5 элементов массива: 12 -4 -5 7 3 . Чётных чисел -2 - верно, ср арифм чётных чисел равно 4 = (12-4)/2 - верно, массив Б - 12 3 - верно, максимальный отрицательный элемент массива А - +12 - неверно, должно быть -4. Пожалуйста, подскажите что делать Последний раз редактировалось Eugene_A; 07.10.2012 в 01:02. |
07.10.2012, 01:19 | #2 |
Homo Interneticus
Форумчанин
Регистрация: 04.03.2011
Сообщений: 611
|
может быть все же
Код:
|
08.10.2012, 00:45 | #3 |
Регистрация: 07.10.2012
Сообщений: 4
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Одномерный массив в Delphi | Начинающий програм | Помощь студентам | 10 | 09.02.2012 22:27 |
Delphi. Одномерный массив. | Broken Angel | Помощь студентам | 2 | 09.04.2011 00:04 |
одномерный массив в delphi | viper92 | Помощь студентам | 5 | 14.12.2010 21:36 |
Одномерный массив (Delphi) | Estel | Помощь студентам | 4 | 29.05.2010 11:55 |
Delphi: Одномерный массив | Sorinka | Помощь студентам | 3 | 28.04.2009 22:19 |