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

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

22.09.2016, 23:29. Показов 975. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Отредактируйте, ничего не работает. Бесы берут!!!


C
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
#include <conio.h>
#include <stdio.h>
 
int main()
{ int n,A[30];
  int i,sum,f,l;
// Vvod 
  printf("Vvedite razmernost vektora:" );
scanf("%d",&n);
printf("Vvedite elementy vektora:\n");
for (i=0;i<n;i++) 
    {
        printf("A[%d]=",i);
        scanf("%d",&A[i]);
    }
//Vivod
printf("Ishodnii vektor:  ");
for (i=0;i<n;i++)
printf("%d  ",A[i]);
 
//Nahozhdenie pervogo   
    for(i=0;i<n;i++)
    {    if (A[i]>0) 
         f=i;
    }
printf("\nPerviy:%d ",f);
//Nahozhdenie poslednego
    for(i=f+1;i<n;i++)
    {
    if (A[i]>0) 
         l=i; 
    }
    printf("\nPoslednii:%d ",l);
//Proverka i vichislenie summi
 
    if ((l!=0) && (f!=l))
    {  
        sum=0;
        for(i=f+1;i<l;i++)
          sum+=A[i];
    }
    else printf("Net 2 polozhitelnih!\n");
      
getch();    
return 0;   
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2016, 23:29
Ответы с готовыми решениями:

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

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

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

Найти сумму элементов массива между первым и последним положительными элементами
Написал код который выполняет несколько функций. 1. Выносит элементы массива на экран. 2. Находит...

4
134 / 104 / 60
Регистрация: 26.10.2013
Сообщений: 312
23.09.2016, 00:06 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Nahozhdenie pervogo
    for(i=0;i<n;i++)
    {    if (A[i]>0)
         {
            f=i;
            break;
         }
    }
printf("\nPerviy:%d ",f);
//Nahozhdenie poslednego
    for(i=n-1;i>=0;i--)
    {
        if (A[i]>0)
        {
             l=i;
             break;
        }
    }
    printf("\nPoslednii:%d ",l);
0
738 / 543 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
23.09.2016, 10:48 3
C
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 20
int main()
{
    int a[N], i, j, sum = 0, flag = 0, first = 0, last = 0;
    srand(time(NULL));
    for(i = 0; i < N; i++){
        printf("% d", a[i] = rand() % 99 - 60);
        if(!flag){
            if(a[i] > 0){
                first = i;
                j = i;
                flag = 1;
            }
        }
        else{
            if(a[i] > 0)
                last = i;
            while(j <= last){
                sum += a[j];
                j++;
            }
        }
    }
    printf("\nsum = %d first = %d last = %d\n", sum, first, last);
    return 0;
}
0
11 / 11 / 8
Регистрация: 24.01.2016
Сообщений: 41
23.09.2016, 15:31 4
Только подредактировал:

C
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
int main()
{
    int n,A[30];
    int i,sum,f,l;
    // Vvod 
    printf("Vvedite razmernost vektora:" );
    scanf("%d",&n);
    printf("Vvedite elementy vektora:\n");
    for (i=0;i<n;i++) 
    {
        printf("A[%d]=",i);
        scanf("%d",&A[i]);
    }
    //Vivod
    printf("Ishodnii vektor:  ");
    for (i=0;i<n;i++)
        printf("%d  ",A[i]);
 
    //Nahozhdenie pervogo   
    for(i=0;i<n;i++)
    {   
        if (A[i]>0)
        {
           f=i;
           break;       //если уже нашел первый - нужно прекратить дальнейший поиск
        }  
    }
    
    printf("\nPerviy:%d ",f);
    //Nahozhdenie poslednego
    for(i=f+1;i<n;i++)
    {
        if (A[i]>0) 
            l=i; 
    }
    printf("\nPoslednii:%d ",l);
    //Proverka i vichislenie summi
 
    if ((l!=0) && (f!=l))
    {  
        sum=0;
        for(i=f+1;i<l;i++)
          sum+=A[i];
        printf("summ = %i", sum);     // вывод результата
    }
    else printf("Net 2 polozhitelnih!\n");
         
return 0;   
}
0
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
24.09.2016, 12:48 5
Зачем проходить по массиву два раза?

C
1
2
3
4
5
6
7
8
9
10
int first = -1;
int last;
for (int i = 0; i < n; i++)
{
    if (A[i] > 0)
    {
        if (first == -1) first = i;
        last = i;
    }
}
Кстати, если first остался равен -1, значит в массиве нет положительных элементов.
1
24.09.2016, 12:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2016, 12:48
Помогаю со студенческими работами здесь

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

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

Посчитать сумму элементов массива расположенных между первым и последним негативными элементами
Сделайте за меня задание по Си, работяги! Посчитать сумму элементов массива расположенных между...

Вычислить сумму элементов массива, расположенных между первым и последним отрицательными элементами
НАИДИТЕ ОШИБКУ ПОЖАЛУИСТА! в одномерном массиве, состоящем из n вещественных элементов,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru