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

Одномерный массив - C++

Восстановить пароль Регистрация
 
Sk8erBoi
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 39
25.05.2011, 23:06     Одномерный массив #1
Привет. Кто то может написать программу для одномерного массива на Си :
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) номер минимального по модулю элемента массива;
2) сумму модулей элементов массива, расположенных после первого отрицательного элемента.
Сжать массив, удалив из него все элементы, величина которых находится в интервале [а,b]. Освободившиеся в конце массива элементы заполнить нулями.
Заранее спасибо!"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2011, 23:06     Одномерный массив
Посмотрите здесь:

Одномерный массив вещественных чисел R75 содержит данные о росте группы студентов. Массив заполнить значениями путем ввода с клавиатуры. Вычислить с C++
C++ одномерный массив
Одномерный массив и Двумерный массив C++
Массив: Построить из динамического одномерный массив,каждый элемент, которого равен сумме элементов одной строки исходной матрицы. C++
Одномерный массив. Создать массив Х суммы среднеарифметического элементов массива А с каждым элементом массива А C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
25.05.2011, 23:26     Одномерный массив #2
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
#include <iostream>
#include <algorithm>
#include <numeric>
#include <cmath>
#include <iterator>
#include <functional>
 
int main()
{
   using namespace std;
   const size_t N = 5;
   int arr[N];
   
   int a = 2, b = 5;
   
   srand((unsigned)time(0));
   
   for(size_t i=0;i<N;i++)
      arr[i]=rand()%10-5;
      
   copy(arr, arr+N, ostream_iterator<int>(cout, " "));
   
   cout<<endl<<"index of minimal module: "<<min_element(arr, arr+N, [](int a1, int b1){return fabs(a1)<fabs(b1);})-arr+1<<endl;
   
   int *neg = find_if(arr, arr+N, [](int a){return a<0;});
   if(neg!=arr+N)
      neg++;
   cout<<"summary: "<<accumulate(neg, arr+N, 0, [](int a1, int b1){return a1+fabs(b1);})<<endl;
   
   fill(remove_if(arr, arr+N, [=](int a1){return a1>=a && a1<=b;}), arr+N, 0);
   
   copy(arr, arr+N, ostream_iterator<int>(cout, " "));
}
Sk8erBoi
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 39
25.05.2011, 23:40  [ТС]     Одномерный массив #3
Спасибо за код но я просил на Си. >.>(turbo C 3.0)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.05.2011, 01:28     Одномерный массив #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
#include <stdio.h>
#include <math.h>
 
#define SIZE 5
 
size_t idx_min_abs(float *a, const size_t sz){
  size_t res = 0, i;
  for(i = 0; i < sz; ++i)
    if(fabs(a[i]) < fabs(a[res]))
      res = i;
  return res;
}
 
float sum_after_first_neg_elem(float *a, const size_t sz){
  size_t idx_first_neg, i;
  float sum = 0.0;
  for(i = 0; i < sz; ++i)
    if(a[i] < 0.0){
      idx_first_neg = i;
      break;
    }
  for(i = idx_first_neg + 1; i < sz; ++i)
    sum += fabs(a[i]);
  return sum;
}
 
void swap(float *a, float *b){
  float t = *a;
  *a = *b;
  *b = t;
}
 
void print(float *a, const size_t sz){
  size_t i;
  for(i = 0; i < sz; ++i)
    printf("%.1f ", a[i]);
}
 
void del_elem_inside_a_b(float *a, const size_t sz, const float l, const float r){
  size_t i, j;
  for(i = 0; i < sz; ++i)
    if(a[i] >= l && a[i] <= r)
      for(j = i; j < sz - 1; ++j)
        swap(&a[j], &a[j + 1]);
  i = sz - 1;
  while(a[i] >= l && a[i] <= r)
    a[i--] = 0.0;
}
 
int main(){
  float arr[SIZE] = {5.6, -7.4, 0.3, 1.5, 6.2}, a = 2.6, b = 6.5;
  printf("%u\n%.1f\n\n", idx_min_abs(arr, SIZE), sum_after_first_neg_elem(arr, SIZE));
  del_elem_inside_a_b(arr, SIZE, a, b);
  print(arr, SIZE);
  return 0;
}
Yandex
Объявления
26.05.2011, 01:28     Одномерный массив
Ответ Создать тему
Опции темы

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