Форум программистов, компьютерный форум CyberForum.ru

Оператор цикла не использовать. - C++

Восстановить пароль Регистрация
 
robotika
0 / 0 / 0
Регистрация: 16.02.2011
Сообщений: 4
22.03.2011, 10:59     Оператор цикла не использовать. #1
Привет всем! Помогите разобратса в задаче
1.Вычислить сумму положительных элементов одномерного массива. Оператор цикла не использовать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Danvern
 Аватар для Danvern
40 / 39 / 3
Регистрация: 22.06.2010
Сообщений: 415
Записей в блоге: 1
22.03.2011, 11:21     Оператор цикла не использовать. #2
попробуй рекурсией сделать..
IrineK
Заблокирован
22.03.2011, 11:23     Оператор цикла не использовать. #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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
 
int main()
{   int i, A[N], sum;
    srand(time(NULL));
    sum = 0;
    i = 0;
    
loops:  A[i]=rand()%20-10;
        printf(" %d",A[i]);
        if(A[i]>0) sum += A[i];
        i ++;
        if(i<N) goto loops;
 
    printf("\nsum = %d",sum);
 
    getchar();
    return 0;
}
Danvern
 Аватар для Danvern
40 / 39 / 3
Регистрация: 22.06.2010
Сообщений: 415
Записей в блоге: 1
22.03.2011, 11:25     Оператор цикла не использовать. #4
Цитата Сообщение от IrineK Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
 
int main()
{   int i, A[N], sum;
    srand(time(NULL));
    sum = 0;
    i = 0;
    
loops:  A[i]=rand()%20-10;
        printf(" %d",A[i]);
        if(A[i]>0) sum += A[i];
        i ++;
        if(i<N) goto loops;
 
    printf("\nsum = %d",sum);
 
    getchar();
    return 0;
}
ну так то это цикл...
C++
1
loops: goto loops;
IrineK
Заблокирован
22.03.2011, 11:27     Оператор цикла не использовать. #5
C
1
2
3
4
5
beeee:  A[i]=rand()%20-10;
                printf(" %d",A[i]);
                if(A[i]>0) sum += A[i];
                i ++;
                if(i<N) goto beeee;
Dexter
 Аватар для Dexter
284 / 144 / 16
Регистрация: 13.10.2009
Сообщений: 164
22.03.2011, 11:47     Оператор цикла не использовать. #6
С рекурсией:
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int sum(int a[],int kol)
{
    if(kol==0)return 0;
    else 
    {
        a[kol-1]=rand()%20-10;
        printf(" %i",a[kol-1]);
        if(a[kol-1]>0)return a[kol-1]+sum(a,kol-1);
        else return sum(a,kol-1);
    }
}
int main()
{
  int i, A[N];
  srand(time(NULL));
  printf("\nsum = %d",sum(A,N));
  getch();
  return 0;
}
Yandex
Объявления
22.03.2011, 11:47     Оператор цикла не использовать.
Ответ Создать тему
Опции темы

Текущее время: 11:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru