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

Одномерный массив. Язык С. Очень нужно! - C++

Восстановить пароль Регистрация
 
Best1501
 Аватар для Best1501
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 17
11.04.2010, 23:53     Одномерный массив. Язык С. Очень нужно! #1
В одномерном массиве, состоящем из п целых элементов, вычислить
1) максимальный по модулю элемент массива;
2) сумму элементов массива, расположенных между первым и вторым положительными элементами.
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Me11eR
 Аватар для Me11eR
10 / 10 / 0
Регистрация: 08.07.2009
Сообщений: 34
12.04.2010, 00:00     Одномерный массив. Язык С. Очень нужно! #2
почитай книжку. все поймешь. наверное =). Сдесь помогают новичкам в программировании а не решают ваши задачи. Напиши свой код, если не работает, тогда спрашивай что да как.
kirjushyk
60 / 22 / 2
Регистрация: 13.03.2010
Сообщений: 65
12.04.2010, 00:05     Одномерный массив. Язык С. Очень нужно! #3
Срочно в 11 вечера? =)*Экзаменов в такое время нету. Давай пиши, мы поможем,*задача элементарная,*на пять минут =)
Best1501
 Аватар для Best1501
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 17
12.04.2010, 00:19  [ТС]     Одномерный массив. Язык С. Очень нужно! #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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
int main()
{
        int max=0,m,b,k,n,i,j,sum=0,v=-1,numMaxFirst,count=0,size;
        int *arr;
        printf("Enter numbers: ");  
        scanf("%d",&n);
     
        arr=(int *)calloc(n, sizeof(int));     
 
 
        for(i = 0; i < n; i++)
        { 
                printf("input element %d: ", i + 1);   scanf("%d", &arr[i]);   
  
                if(arr[i]>0)
                {     
                        numMaxFirst=i;
                }
        }
 
       
        for(i = 0; i < n; i++)
        { 
                if(arr[i]>0)
                {     
                        numMaxFirst=i;
                        break;
                }
        }
 
    
        for(i = n; i>=0; --i)
        {
                if(arr[i]>0) 
                {
                        if (i==numMaxFirst) 
                        { 
                                printf("\none positive element: 0"); 
                        }
                        else  
                        { 
                                for(j = numMaxFirst+1; j < i; j++)
                                        sum+=arr[j];
                                printf("\nSum elementov: %i ", sum);
                        }
                        break;
                }
 
        }
          
        for (i=0; i<n; i++)  
    {
        if (arr[i]>max)  
        (max=arr[i]);
    }
    printf("\nMax chislo:%d",max);
         
     for(int j=0;j<n;j++)
     {
         for(i=0;i<n-1;i++)
         {
          if(arr[i]>arr[i+1])
          {
               b=arr[i];
               arr[i]=arr[i+1];
               arr[i+1]=b;
              
          }
         }
     }
 
 
     //for(i=0;i<b;i++)
     {     
         printf("\nSort Massiv:%d",arr[i]);
        scanf("%d",&b);
     }
 _getch();
    }
Добавлено через 24 секунды
Сортировка не робит((((
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
12.04.2010, 03:18     Одномерный массив. Язык С. Очень нужно! #5
C
1
2
3
4
5
6
7
8
9
10
void sort(int * a, int l, int r)
{
    for(int i = l; i < r; i++)
        for(int j = r; j > i; j--)
            if(a[j-1] == 0)
            {
                int t = a[j-1];
                a[j-1]= a[j];
                a[j]  = t;
            }
Добавлено через 1 минуту
При передаче в функцию l и r -- левая и правая границы сортировки
чтобы пройтись во всему массиву
int l = 0;
int r = n - 1; (где n - размер массива)
Yandex
Объявления
12.04.2010, 03:18     Одномерный массив. Язык С. Очень нужно!
Ответ Создать тему
Опции темы

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