0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
1

Сумма элементов массива, расположенных между первым и вторым положительными элементами

10.12.2008, 19:40. Показов 1687. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В одномерном массиве, состоящем из n вещественных элементов, вычислить:

1. максимальный по модулю элемент массива;
2. сумму элементов массива, расположенных между первым и
вторым положительными элементами.

Преобразовать массив таким образом, чтобы элементы, равные
нулю, располагались после всех остальных.


Помогите решить эту задачу)))) очень вас прошу
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2008, 19:40
Ответы с готовыми решениями:

Если произведение элементов, расположенных между первым и вторым положительными элементами кратно 3, то поменять эти элементы местами
дан массив, состоящий из m элементов. Если произведение элементов, расположенных между первым и вторым положительными элементами кратно 3,...

Массив: Вычислить сумму элементов массива, расположенных между первым и вторым положительными членами
В одномерном массиве, состоящем из n вещественных элементов,вычислить сумму элементов массива расположенных между первым и вторым...

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

17
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
10.12.2008, 22:42 2
нахождение макс. элемента по модулю
Code
1
2
3
4
5
max:=abs(mas[1]);
 for i:=1 to n do
   if abs(mas[i])>max then
      max:=abs(mas[i]);
end.

2)
Code
1
2
3
4
5
6
7
8
9
10
11
12
for i:=1 to n do
   if mas[i]>0 then
         for j:=i to n do
             begin
                if mas[j]<0 then
                   begin
                      write('summa=', summa);
                      readln;
                      exit;
                   end;
               summa:=summa+mas[i];
             end;
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
11.12.2008, 00:05  [ТС] 3
О, это все? И все элементы, равные нулю, будут последними?
Спасибо)) большое)))
0
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
11.12.2008, 00:06 4
элементы надо сделать!
0
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
11.12.2008, 00:08  [ТС] 5
Ну я сделать их не смогу(((( а вы сможете? помогите)))
0
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
11.12.2008, 00:10 6
как то так:
Code
1
2
3
4
5
6
7
8
for i:=n-1 dowto 2 do
 for j:=1 to i do
    if mas[j]=0 and mas[j+1]<>0 then
       begin
         c:=mas[j];
         mas[j]:=mas[j+1];
         mas[j+1]:=c;
       end;
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
11.12.2008, 00:12  [ТС] 7
Если все это скрепить в одну программу без особых редактирований, работать будет?
Вы мой ангел-хранитель)))) спасибо))
0
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
11.12.2008, 00:39 8
попробуй скрепи! ну для начала обьяви массив mas:array[1..n] of real; и переменные

Добавлено через 25 минут 4 секунды
вот вся прога:
Code
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
const n=10;
var mas:array[1..n] of real;
        i,j:integer;
        c,summa,max:real;
begin
 
for i:=1 to n do
 begin
  write('Введите ',i,' элемент');
  readln(mas[i]);
 end;
 
 
for i:=n-1 downto 2 do
 for j:=1 to i do
    if (mas[j]=0) and (mas[j+1]<>0) then
       begin
         c:=mas[j];
         mas[j]:=mas[j+1];
         mas[j+1]:=c;
       end;
 
writeln('Преобразованный массив: ');
 for i:=1 to n do
  write(mas[i],' ');
writeln;
max:=abs(mas[1]);
for i:=1 to n do
  if abs(mas[i])>max then
    max:=abs(mas[i]);
 
write('Максимальный элемент по модулю =', max);
writeln;
 
summa:=0;
for i:=1 to n do
   if mas[i]>0 then
       for j:=i+1 to n do
          begin
             if mas[j]>0 then
                begin
                  write('summa=', summa);
                  readln;
                  exit;
                end;
              summa:=summa+mas[i];
          end;
 
readln;
end.
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
11.12.2008, 00:41  [ТС] 9
Еще раз огромное спасибо)))) Это действительно впечатляюще было))) спасибо))
0
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
11.12.2008, 00:42 10
там в кусках кода были опечатки просто) эта прога работает))
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
11.12.2008, 00:43  [ТС] 11
Да, уже прочитал сообщение)) спасибо-спасибо)))) СПАААСИБООО))))))) огромное
0
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
12.12.2008, 20:52  [ТС] 12
Так... тут вот в проге чет сумма всех элементов массива не работает( Помогите еще исправить пожалуйста

const n=10;
var mas:array[1..n] of real;
i,j:integer;
c,summa,max:real;
begin

for i:=1 to n do
begin
write('Введите ',i,' элемент');
readln(mas[i]);
end;


for i:=n-1 downto 2 do
for j:=1 to i do
if (mas[j]=0) and (mas[j+1]<>0) then
begin
c:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=c;
end;

writeln('Преобразованный массив: ');
for i:=1 to n do
write(mas[i],' ');
writeln;
max:=abs(mas[1]);
for i:=1 to n do
if abs(mas[i])>max then
max:=abs(mas[i]);

write('Максимальный элемент по модулю =', max);
writeln;

summa:=0;
for i:=1 to n do
if mas[i]>0 then
for j:=i+1 to n do
begin
if mas[j]>0 then
begin
write('summa=', summa);
readln;
exit;
end;
summa:=summa+mas[i];
end;

readln;
end.
0
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
12.12.2008, 22:59 13
Code
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
const n=10;
var mas:array[1..n] of real;
        i,j:integer;
        c,summa,max:real;
begin
 
for i:=1 to n do
 begin
  write('Введите ',i,' элемент');
  readln(mas[i]);
 end;
 
 
for i:=n-1 downto 2 do
 for j:=1 to i do
    if (mas[j]=0) and (mas[j+1]<>0) then
       begin
         c:=mas[j];
         mas[j]:=mas[j+1];
         mas[j+1]:=c;
       end;
 
writeln('Преобразованный массив: ');
 for i:=1 to n do
  write(mas[i],' ');
writeln;
max:=abs(mas[1]);
for i:=1 to n do
  if abs(mas[i])>max then
    max:=abs(mas[i]);
 
write('Максимальный элемент по модулю =', max);
writeln;
 
summa:=0;
for i:=1 to n do
   if mas[i]>0 then
       for j:=i+1 to n do
          begin
             if mas[j]>0 then
                begin
                  write('summa=', summa);
                  readln;
                  exit;
                end;
              summa:=summa+mas[j];
          end;
 
readln;
end.
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
13.12.2008, 00:00  [ТС] 14
Прозвучит странно.. Но сумма показывает по нулям(((
0
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
13.12.2008, 00:11 15
напиши входные данные и выходные!
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
13.12.2008, 00:40  [ТС] 16
1 элемент = 8
2 элемент = 6
3 элемент = 9
4 элемент = 5
5 элемент = 7
6 элемент = 5
7 элемент = 5
8 элемент = 4
9 элемент = 11
10 элемент = 13


мм далее идет преобразованный массив.

Он получился широким, потому что числа там в таком ввиде: 8.00000000000E+00 6.00000000000E+00 9.00000000000E+00

После - максимальное число по модулю 1.30000000000E+01
summa= 0.00000000000E+00_


можно было бы еще выводимые цифры короче сделать?_ было бы удобней очень)

и вот тут видно, что сумма не работает просто(
0
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
13.12.2008, 00:53 17
Правильно! все работает! Смотри: "сумму элементов массива, расположенных между первым и вторым положительными элементами"

Первый полож. элемент =8
Второй полож. элемеи =6
Итог- нету элемнтов удовлетворяющих условию: "сумму элементов массива, расположенных между первым и вторым положительными элементами"


вот чтобы вывод чисел был короче:
Code
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const n=10;
var mas:array[1..n] of real;
        i,j:integer;
        c,summa,max:real;
begin
 
for i:=1 to n do
 begin
  write('Введите ',i,' элемент');
  readln(mas[i]);
 end;
 
 
for i:=n-1 downto 2 do
 for j:=1 to i do
    if (mas[j]=0) and (mas[j+1]<>0) then
       begin
         c:=mas[j];
         mas[j]:=mas[j+1];
         mas[j+1]:=c;
       end;
 
writeln('Преобразованный массив: ');
 for i:=1 to n do
  write(mas[i]:3:1,' ');
 
writeln;
max:=abs(mas[1]);
for i:=1 to n do
  if abs(mas[i])>max then
    max:=abs(mas[i]);
 
write('Максимальный элемент по модулю =', max:3:1);
writeln;
 
summa:=0;
for i:=1 to n do
   if mas[i]>0 then
       for j:=i+1 to n do
          begin
             if mas[j]>0 then
                begin
                  write('summa=', summa:3:1);
                  readln;
                  exit;
                end;
              summa:=summa+mas[j];
          end;
 
readln;
end.
1
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55
14.12.2008, 03:20  [ТС] 18
да.. спасибо в общем)) огромное спасибо))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2008, 03:20
Помогаю со студенческими работами здесь

Найти сумму элементов массива, расположенных между первым и последним положительными элементами
В одномерном массиве, состоящем из n вещественных элементов, вычис лить: 1) минимальный элемент массива; 2) сумму элементов...

Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами
Помогите пожалуйста, до завтра надо сдать 5 лабораторок, 3 я сделал, но вот эти две вообще без представления. Буду очень признателен. ...

Вычислить сумму элементов массива, расположенных между первым и вторым отрицательным элементами
2) В одномерном массиве, состоящем из n вещественных элементов, вычислить: 2. Сумму элементов массива, расположенных между первым и...

Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами
Задание: &quot;Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами.&quot; Доброго времени суток....

Найти сумму элементов массива расположенных между первым и вторым отрицательным элементами
С клавиатуры вводится произвольный одномерный массив типа Integer (не более 10 элементов), после чего делается его контрольный вывод. Найти...


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

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

Новые блоги и статьи
Циклы for в Python
py-thonny 17.03.2025
Существует множество ситуаций, когда нам нужно выполнить одно и то же действие несколько раз. Цикл for в Python — настоящий рабочий конь для большинства программистов. Если вам нужно пройтись по всем. . .
Предсказание ветвлений - путь к высокопроизводи­тельному C++
NullReferenced 17.03.2025
В высокопроизводительном программировании на C++ каждый такт процессора на счету. Когда речь заходит о разработке систем с низкой задержкой — будь то высокочастотная торговля, обработка потоковых. . .
Паттерн CQRS в C#
UnmanagedCoder 17.03.2025
Создание сложных корпоративных приложений часто требует нестандартных подходов к архитектуре. Один из таких подходов — паттерн CQRS (Command Query Responsibility Segregation), предлагающий простую,. . .
Паттерн Цепочка ответственности в C#
UnmanagedCoder 17.03.2025
Цепочка ответственности — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке потенциальных обработчиков, пока один из них не обработает запрос. . . .
Создаем микросервисы с NestJS, TCP и Typescript
run.dev 17.03.2025
NestJS — фреймворк, который значительно упрощает создание серверных приложений на Node. js. Его прелесть в том, что он комбинирует концепции ООП, функционального программирования и предлагает. . .
Гексагональная архитектура со Spring Boot
Javaican 17.03.2025
Если вы когда-нибудь сталкивались с ситуацией, когда внесение простых изменений в базу данных или пользовательский интерфейс заставляло вас переписывать весь код, то вы точно оцените элегантность. . .
Позиционировани­е Kafka Consumer и Seek-операции
Javaican 17.03.2025
Что же такое Consumer Seek в Kafka? По сути, это API-метод, который позволяет программно указать, с какой позиции (offset) Consumer должен начать или продолжить чтение данных из партиции. Без этого. . .
Python NumPy: Лучшие практики и примеры
py-thonny 17.03.2025
NumPy (Numerical Python) — одна из ключевых библиотек для научных вычислений в Python. Она превращает Python из просто удобного языка общего назначения в среду для проведения сложных математических. . .
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru