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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2012, 00:40   #1
Eugene_A
 
Регистрация: 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.
Eugene_A вне форума Ответить с цитированием
Старый 07.10.2012, 01:19   #2
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

может быть все же
Код:
k:=0;
...
if с = 0 then Writeln ('Net chetnyh!')
...
if k = 0 then Writeln('Net elementov, kratnyh 3! ');
astecenko вне форума Ответить с цитированием
Старый 08.10.2012, 00:45   #3
Eugene_A
 
Регистрация: 07.10.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от astecenko Посмотреть сообщение
может быть все же
Код:
k:=0;
...
if с = 0 then Writeln ('Net chetnyh!')
...
if k = 0 then Writeln('Net elementov, kratnyh 3! ');
Спасибо, немножко помогло, но ещё ошибки есть. Исправляю...
Eugene_A вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив в 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