С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Николайчик
0 / 0 / 1
Регистрация: 23.11.2014
Сообщений: 136
1

Определить сумму и количество положительных элементов массива. Увеличить все отрицательные элементы на 10

28.12.2014, 14:00. Просмотров 978. Ответов 14
Метки нет (Все метки)

Определить сумму и количество положительных элементов массива Xi, (i = 1,...,15) . Увеличить все отрицательные элементы на 10. Желательно с формой и кодом. Заранее спасибо!
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2014, 14:00
Ответы с готовыми решениями:

Положительные элементы массива разделить на сумму положительных, а отрицательные - на сумму отрицательных
Задача состоит в том чтоб описать и использовать следующие функции: Ввести...

Определить сумму и количество положительных элементов одномерного массива, индексы которых кратны 3
Задан одномерный массив действительных чисел. Определить сумму и количество...

Найти сумму и произведение всех положительных элементов массива и заменить нулями все элементы, расположенные на главной диагонали и выше ее.
Найти сумму и произведение всех положительных элементов массива и заменить...

Вычислить сумму элементов массива А, количество положительных элементов массива В и его максимальный элемент
Дано натуральное число n, массивы А и В размерностью n. Вести с клавиатуры...

Определить сумму положительных элементов и сумму нечётных элементов массива
1) Создать приложение, которое предоставляет пользователю ввести размер...

14
XaKO
21 / 21 / 30
Регистрация: 23.10.2012
Сообщений: 344
28.12.2014, 14:29 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
program Project1;
 
{$APPTYPE CONSOLE}
 
{$R *.res}
 
uses
  SysUtils;
 
const
  n = 15;
var
  a: array [1..n] of Integer;
  i: Integer;
  Positive, Negative: Integer;
begin
  for i := 1 to n do
    Readln(a[i]);
    Negative := 0;
    Positive := 0;
  for i := 1 to n do
    if a[i] > 0 then
      inc(Positive)
    else
    if a[i] < 0 then
    begin
      inc(Negative);
      a[i] := a[i] + 10;
    end;  
  Writeln('Kol-vo pol: ', Positive);
  Writeln('Kol-vo otr: ', Negative);
  Writeln('Polychilos:');
  for i := 1 to n do
    Writeln(a[i]);
  Readln; 
end.
Не понимаю только зачем для таких заданий форма нужна.
0
Николайчик
0 / 0 / 1
Регистрация: 23.11.2014
Сообщений: 136
28.12.2014, 14:38  [ТС] 3
Цитата Сообщение от XaKO Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
program Project1;
 
{$APPTYPE CONSOLE}
 
{$R *.res}
 
uses
  SysUtils;
 
const
  n = 15;
var
  a: array [1..n] of Integer;
  i: Integer;
  Positive, Negative: Integer;
begin
  for i := 1 to n do
    Readln(a[i]);
    Negative := 0;
    Positive := 0;
  for i := 1 to n do
    if a[i] > 0 then
      inc(Positive)
    else
    if a[i] < 0 then
    begin
      inc(Negative);
      a[i] := a[i] + 10;
    end;  
  Writeln('Kol-vo pol: ', Positive);
  Writeln('Kol-vo otr: ', Negative);
  Writeln('Polychilos:');
  for i := 1 to n do
    Writeln(a[i]);
  Readln; 
end.
Не понимаю только зачем для таких заданий форма нужна.
Сам не понимаю, но для практического показа, если можно пожалуйста!!!
0
XaKO
21 / 21 / 30
Регистрация: 23.10.2012
Сообщений: 344
28.12.2014, 15:03 4
Лучший ответ Сообщение было отмечено Николайчик как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure TForm1.Button1Click(Sender: TObject);
const
  n = 15;
var
  a: array [1..n] of Integer;
  i: Integer;
  Positive, Negative, Summa: Integer;
begin
  for i := 0 to n - 1 do
    a[i+1] := StrToInt(StringGrid1.Cells[i, 0]);
  Negative := 0;
  Positive := 0;
  Summa := 0;
  for i := 1 to n do
    if a[i] > 0 then
    begin
      inc(Summa, a[i]);
      inc(Positive);
    end
    else
    if a[i] < 0 then
    begin
      inc(Negative);
      a[i] := a[i] + 10;
    end;
  Label4.Caption := IntToStr(Positive);
  Label5.Caption := IntToStr(Negative);
  Label6.Caption := IntToStr(Summa);
  for i := 0 to n - 1 do
    StringGrid1.Cells[i, 1] := IntToStr(a[i+1]);
end;
Если у Вас не XE версия делфи то проект может не открыться, тогда расставьте компоненты StringGrid, Label, Button как на скрине и у таблицы в Options поставьте goEditing в True, RowCount = 2, ColCount = 15, FixedRow = 0, FixedCol = 0, DefaultColWidth=35
1
Миниатюры
Определить сумму и количество положительных элементов массива. Увеличить все отрицательные элементы на 10  
Вложения
Тип файла: rar 1.rar (4.9 Кб, 4 просмотров)
Николайчик
0 / 0 / 1
Регистрация: 23.11.2014
Сообщений: 136
28.12.2014, 16:53  [ТС] 5
Всё повторил один в один, а почему то не работает помогите !!
0
XaKO
21 / 21 / 30
Регистрация: 23.10.2012
Сообщений: 344
28.12.2014, 16:56 6
Скажи что именно
0
Николайчик
0 / 0 / 1
Регистрация: 23.11.2014
Сообщений: 136
28.12.2014, 17:00  [ТС] 7
Цитата Сообщение от XaKO Посмотреть сообщение
Скажи что именно
Пишет is not a valid integer value. Где ошибка?
0
XaKO
21 / 21 / 30
Регистрация: 23.10.2012
Сообщений: 344
28.12.2014, 17:03 8
а ты таблицу то заполнил массивом? Если что исходный это 1 строка, конечный - 2. Да и массив тут из целых чисел.
0
Николайчик
0 / 0 / 1
Регистрация: 23.11.2014
Сообщений: 136
28.12.2014, 17:09  [ТС] 9
Вот посмотри что там не так. Я всё повторил как там было.
0
Вложения
Тип файла: rar 2.rar (4.5 Кб, 2 просмотров)
XaKO
21 / 21 / 30
Регистрация: 23.10.2012
Сообщений: 344
28.12.2014, 17:16 10
Ну запустил, заполнил 1 строку, нажал на кнопку, получил результат (правда лейблы для результата у тебя не те, поменяй)
1
Миниатюры
Определить сумму и количество положительных элементов массива. Увеличить все отрицательные элементы на 10  
Николайчик
0 / 0 / 1
Регистрация: 23.11.2014
Сообщений: 136
28.12.2014, 17:21  [ТС] 11
Цитата Сообщение от XaKO Посмотреть сообщение
Ну запустил, заполнил 1 строку, нажал на кнопку, получил результат (правда лейблы для результата у тебя не те, поменяй)
А не подскажешь на рандом с отдельной кнопки чтобы не набирать с клавы , а то призабыл))
0
XaKO
21 / 21 / 30
Регистрация: 23.10.2012
Сообщений: 344
28.12.2014, 17:24 12
Delphi
1
2
3
Randomize;
for i := 0 to 14 do
  StringGrid1.Cells[i, 0] := IntToStr(Random(11)-5);
0
Николайчик
0 / 0 / 1
Регистрация: 23.11.2014
Сообщений: 136
28.12.2014, 17:37  [ТС] 13
Цитата Сообщение от XaKO Посмотреть сообщение
Delphi
1
2
3
Randomize;
for i := 0 to 14 do
  StringGrid1.Cells[i, 0] := IntToStr(Random(11)-5);
i показует как не правильно.
0
XaKO
21 / 21 / 30
Регистрация: 23.10.2012
Сообщений: 344
28.12.2014, 17:38 14
а ты
Delphi
1
var i:integer;
добавил?
0
Николайчик
0 / 0 / 1
Регистрация: 23.11.2014
Сообщений: 136
28.12.2014, 17:41  [ТС] 15
Цитата Сообщение от XaKO Посмотреть сообщение
а ты
Delphi
1
var i:integer;
добавил?
БОЛЬШОЕ СПАСИБО ЗА ПОМОЩЬ!!!
0
28.12.2014, 17:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2014, 17:41

Все положительные элементы двумерного массива замените суммой всех положительных элементов массива
Условие:Все положительные элементы двумерного массива замените суммой всех...

Вычислить сумму и количество положительных элементов массива
Вычислить сумму и количество положительных элементов массива Х.

Найти последний из кратных 5 элементов массива, заменить этим числом все отрицательные элементы
Дан массив из 10 целых чисел . Найти последний из кратных 5 элементов. Заменить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru