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

Количество элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать процедуру RectPS http://www.cyberforum.ru/cpp-beginners/thread299819.html
Привет всем!!!Помогите перевести с паскаля на С++ Описать процедуру RectPS(x1, y1, x2, y2, S), вычисляющую площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1, y1), (x2, y2) его противоположных вершин (x1, y1, x2, y2 — входные, S — выходные параметры вещественного типа). С помощью этой процедуры найти периметры и площади трех прямоугольников с данными...
C++ Случайные четные числа "Напишите единственный оператор, который будет печатать случайно выбранное число из набора: 2, 4, 6, 8. Как это реализовать? Для начала хотел просто сделать генератор "случайных" чисел от 2 до 8: #include <iostream> using std::cout; using std::endl; #include <cstdlib> using std::rand; http://www.cyberforum.ru/cpp-beginners/thread299794.html
Создать класс для хранения календарных дат. Обеспечить возможность работы с датами в различных форматах C++
2. Создать класс для хранения календарных дат. Обеспечить возможность работы с датами в различных форматах, изменения даты на заданное количество дней. Перегрузить операцию «–» для нахождения разности дат и операции сравнения. Для класса определить оператор <<. Стандартные функции и типы С для работы с датами не использовать. проблемы с вводом-выводом. Как исправить? ...
C++ Реализовать представление дека
Реализовать представление дека на языке С++ . Работу со структурой организовать в виде текстового меню.
C++ Реализовать представление очереди. http://www.cyberforum.ru/cpp-beginners/thread299781.html
Реализовать представление очереди. Работу со структурами организовать в виде текстового меню.
C++ реализация представления стека 1.Реализовать представление стека. Работу со структурами организовать в виде текстового меню. Дополнительно разработать следующие операции: -определение текущего числа элементов в стеке; -определение размера стека; На С/С++ подробнее

Показать сообщение отдельно
лисыч
0 / 0 / 0
Регистрация: 06.08.2009
Сообщений: 80

Количество элементов массива - C++

19.05.2011, 18:51. Просмотров 316. Ответов 1
Метки (Все метки)

Задача :в одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество элементов массива, меньших 0;
2) сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом - все остальные.

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
#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 
#include <time.h> 
 float x[100];
int main(int argc, char *argv[]) 
{ 
  float c, a, s1, sp, otr_element, max_element; 
  int i, imin, n, b, p, k, s; 
  printf("Vvedite kolichestvo el-tov massiva: "); 
    scanf("%d",&n); 
  for(i = 0; i < n; i++) 
        x[i] = ((float)rand()/RAND_MAX)*20 - 10; 
  for(i = 0; i < n; i++) 
        printf("x[%d] = %7.4f\n",i,x[i]); 
  printf("\n\nVvedite C: "); 
  scanf("%f",&c); 
  for(i = 0, p = 0; i < n; i++) { 
        if(x[i] < c) p++;       
  } 
  printf("1) Kolichestvo elementov masiva menshe C ravno %d\n\n",p); 
  getch(); 
  for(i = 0; i < n; i++) 
  if(x[i] < 0) imin = i;      
  for(s=0; i<n; i++)   
  s += (int)x[i]; 
  for(i = imin + 1, s = 0.0; i < n; i++) 
  s += (int)(x[i]); 
  printf("2) Summa chelih chastei, posle poslednego otr. elementa = %d\n\n",s); 
  getch(); 
  max_element = x[0]; 
  for(i = 1; i < n; i++) { 
        if(x[i] > max_element) max_element = x[i];       
}
  for(i = 0; i < n; i++) { 
       if((x[i] >= s1)&&(x[i] <= max_element)) { 
                for(k = 0; k < n; k++) { 
                      if(x[i] > x[k]) { 
                             a = x[i]; 
                             x[i] = x[k]; 
                             x[k] = a;         
                      }          
                } 
       }       
  printf("Posle sortirovki elementov\n"); 
  for(i = 0; i < n; i++) 
        x[i] = ((float)rand()/RAND_MAX)*20 - 10; 
  for(i = 0; i < n; i++) 
        printf("x[%d] = %7.4f\n",i,x[i]);     
  return 0; 
}
}
нужно исправить так, чтобы когда массив сортируется, то не новый массив через рэндом делался, а который уже есть.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru