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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sk8erBoi
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 39
#1

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

25.05.2011, 23:06. Просмотров 345. Ответов 3
Метки нет (Все метки)

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

Скопировать двумерный массив в одномерный массив из 50 элементов - C++
Создать двумерный массив 10*5, заполнить его значениями ( i^2-j^2), где i и j итераторы двумерного массива. А затем скопировать двумерный...

Одномерный массив. - C++
В последовательности действительных чисел есть только положительные и отрицательные элементы. Вычислить произведение отрицательных...

Одномерный массив! - C++
2. Задав одномерный массив вещественных данных размера NxN (N<=10) (матрицу A), реализовать его обработку , как указано в варианте....

Одномерный массив - C++
Помогите пожалуйста!!! Дан массив А определиь индекс и значение наибольшего попадающего в интервал {-5;0} элемента. В случае...

одномерный массив - C++
Помогите пожалуйста!!! Дан массив А определиь индекс и значение наибольшего попадающего в интервал (-5;0} элемента. В случае...

Одномерный массив - C++
Реализовать класс по одномерному массиву, в методе класса реализовать поиск элементов массива Помогите пожалуйста с кодом. плиззззз

Одномерный массив - C++
Товарищи программеры подскажите, где косяк, желательно с кратким пояснением, токо начал изучать, хочу разобраться. Программа...

одномерный массив - C++
помогите плиииз Задан одномерный массив. Преобразовать его таким образом, чтобы все его элементы принадлежали отрезку . Вывести на печать...

одномерный массив - C++
Составить программу, которая отыскивает среди пар элементов одномерного массива М те, разность между элементами которых есть величина...

Одномерный массив - C++
В одномерном массиве, состоящем из п целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
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++
2846 / 1783 / 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     Одномерный массив
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru