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

С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
16.03.2011, 22:03     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #1
В одномерном массиве, состоящем из n вещественных элементов,
вычислить:
− количество элементов массива, меньших С;
− сумму целых частей элементов массива, расположенных после последнего
отрицательного элемента.
Сначала располагались все элементы, отличающиеся от максимального не
более чем на 20%, а потом – все остальные.
Вложения
Тип файла: txt 1.txt (2.2 Кб, 89 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2011, 22:03     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить..
Посмотрите здесь:

В одномерном массиве А, состоящем из N вещественных элементов, вычислить C++
C++ В одномерном массиве , состоящем из n вещественных элементов, вычислить:
C++ [C++]в одномерном массиве, состоящем из 10 вещественных элементов, вычислить:
В одномерном массиве, состоящем из n вещественных элементов, вычислить C++
В одномерном массиве состоящем из n вещественных элементов вычислить: C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
17.03.2011, 19:03  [ТС]     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #2
не могу реализовать последнее условие..
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
17.03.2011, 19:04     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #3
greendoom, лучше заново напишу тебе
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
17.03.2011, 19:10  [ТС]     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #4
буду чакаць..
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
17.03.2011, 19:36     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #5
вроде так:
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
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <time.h>
#include <math.h>
#include <windows.h>
void fullscr(){
     keybd_event(VK_MENU,0x38,0,0);
     keybd_event(VK_RETURN,0x1c,0,0);
     keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
     keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);}
int main(){
     fullscr();
     int size,summ=0,positive_int=0;
     float C;
     std::cout<<"Vvedite kol-vo elementov: ";
     std::cin>>size;
     std::cout<<"Vvedite C: ";
     std::cin>>C;
     float array[size];
     std::cout<<"Vvodite chisla: \n";
     for(int i=0;i<size;i++) {std::cin>>array[i];summ+=array[i]<C?1:0;}
     std::cout<<std::endl<<"Kol-vo elementov < C = "<<summ;
     for(int i=size; i>0; i--)
     {
          if(array[i]<0) break;
          if(floor(array[i]+(1.0f))) positive_int+=array[i];
     }
     std::cout<<std::endl<<"Summa tselih chastei elementov massiva, posle poslednego otrits. elementa: "<<positive_int<<std::endl;
     getch();
     return 0;}
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
17.03.2011, 19:39  [ТС]     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #6
спасибо, но это есть..)) нету вот этого: преобразовать массив так, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом – все остальные.
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
17.03.2011, 19:40     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #7
greendoom, проверь и отпишись, мне тоже интересно правильно ли сделал.. ибо как я понял условие - по мне так работает как надо.

Добавлено через 47 секунд
Цитата Сообщение от greendoom Посмотреть сообщение

Сначала располагались все элементы, отличающиеся от максимального не
более чем на 20%, а потом – все остальные.
я думал это не задание. так как ты не поставил '-' перед ) поэтому упустил..ща попробуем..
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
17.03.2011, 19:43  [ТС]     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #8
Цитата Сообщение от instagib Посмотреть сообщение
greendoom, проверь и отпишись, мне тоже интересно правильно ли сделал.. ибо как я понял условие - по мне так работает как надо.

Добавлено через 47 секунд

я думал это не задание. так как ты не поставил '-' перед ) поэтому упустил..ща попробуем..
прошу прощения, что так получилось..) просто торопился, не все предусмотрел.. а можешь сделать, используя функцию?
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
17.03.2011, 19:47     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #9
Цитата Сообщение от greendoom Посмотреть сообщение
отличающиеся от максимального не более чем на 20%
это как понять ..
если например макс элемент массива - 10, то в начале должны быть все элементы не больше 20% от 10?

Добавлено через 2 минуты
только что посмотрел твой файл, только не говори что надо переделывать на C
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
17.03.2011, 19:48  [ТС]     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #10
Цитата Сообщение от instagib Посмотреть сообщение
это как понять ..
если например макс элемент массива - 10, то в начале должны быть все элементы не больше 20% от 10?

Добавлено через 2 минуты
только что посмотрел твой файл, только не говори что надо переделывать на C
так и у тя ведь на С++ сделано..))
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
17.03.2011, 19:53     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #11
короче ответь на вопрос повыше

Добавлено через 15 секунд
[QUOTE=instagib;1460988]это как понять ..
если например макс элемент массива - 10, то в начале должны быть все элементы не больше 20% от 10?
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
17.03.2011, 19:54  [ТС]     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #12
[QUOTE=instagib;1461018]короче ответь на вопрос повыше

Добавлено через 15 секунд
Цитата Сообщение от instagib Посмотреть сообщение
это как понять ..
если например макс элемент массива - 10, то в начале должны быть все элементы не больше 20% от 10?
ну я понимаю, что именно так..)
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
17.03.2011, 20:32     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #13
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
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <time.h>
#include <math.h>
#include <windows.h>
void fullscr(){
     keybd_event(VK_MENU,0x38,0,0);
     keybd_event(VK_RETURN,0x1c,0,0);
     keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
     keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);}
int main(){
     const float percent=0.2;
     int size,summ=0,positive_int=0,iterator=0;
     float C,max_element=0;
     std::cout<<"Vvedite kol-vo elementov: ";
     std::cin>>size;
     std::cout<<"Vvedite C: ";
     std::cin>>C;
     float array[size];
     float buff[size];
     std::cout<<"Vvodite chisla: \n";
     for(int i=0;i<size;i++) {std::cin>>array[i];summ+=array[i]<C?1:0;if(max_element<array[i]){max_element=array[i];}}
     std::cout<<std::endl<<"Kol-vo elementov < C = "<<summ;
     for(int i=size; i>0; i--){if(array[i]<0) break;if(floor(array[i]+(1.0f))) positive_int+=array[i];}
     float percentage_min=max_element*percent;
     for(int i=0; i<size;i++)
     {
          if(array[i] < percentage_min) buff[iterator++]=array[i];
          if(array[i] > percentage_min) buff[size--]=array[i];
     }
     std::cout<<std::endl<<"Summa tselih chastei elementov massiva, posle poslednego otrits. elementa: "<<positive_int<<std::endl;
     std::cout<<std::endl<<"\n Massiv izmenen: \n";
      for(int i=0; i<=iterator;i++) std::cout<<" "<<buff[i];
     std::cout<<"\n Max element: "<<max_element;
     std::cout<<"\n Next: ";
     for(iterator; iterator<size; iterator++) std::cout<<buff[iterator]<<" ";
     getch();
     return 0;}
вроде считает, но не могу понять в чем ошибка.. выводит иногда из массива хз что
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
19.03.2011, 12:43  [ТС]     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #14
Цитата Сообщение от instagib Посмотреть сообщение
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
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <time.h>
#include <math.h>
#include <windows.h>
void fullscr(){
     keybd_event(VK_MENU,0x38,0,0);
     keybd_event(VK_RETURN,0x1c,0,0);
     keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
     keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);}
int main(){
     const float percent=0.2;
     int size,summ=0,positive_int=0,iterator=0;
     float C,max_element=0;
     std::cout<<"Vvedite kol-vo elementov: ";
     std::cin>>size;
     std::cout<<"Vvedite C: ";
     std::cin>>C;
     float array[size];
     float buff[size];
     std::cout<<"Vvodite chisla: \n";
     for(int i=0;i<size;i++) {std::cin>>array[i];summ+=array[i]<C?1:0;if(max_element<array[i]){max_element=array[i];}}
     std::cout<<std::endl<<"Kol-vo elementov < C = "<<summ;
     for(int i=size; i>0; i--){if(array[i]<0) break;if(floor(array[i]+(1.0f))) positive_int+=array[i];}
     float percentage_min=max_element*percent;
     for(int i=0; i<size;i++)
     {
          if(array[i] < percentage_min) buff[iterator++]=array[i];
          if(array[i] > percentage_min) buff[size--]=array[i];
     }
     std::cout<<std::endl<<"Summa tselih chastei elementov massiva, posle poslednego otrits. elementa: "<<positive_int<<std::endl;
     std::cout<<std::endl<<"\n Massiv izmenen: \n";
      for(int i=0; i<=iterator;i++) std::cout<<" "<<buff[i];
     std::cout<<"\n Max element: "<<max_element;
     std::cout<<"\n Next: ";
     for(iterator; iterator<size; iterator++) std::cout<<buff[iterator]<<" ";
     getch();
     return 0;}
вроде считает, но не могу понять в чем ошибка.. выводит иногда из массива хз что
выводит.. но не правильно... число просто выбрасывает, а должен выводить масссив...((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2011, 21:08     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить..
Еще ссылки по теме:

C++ В одномерном массиве, состоящем из n вещественных элементов вычислить
В одномерном массиве, состоящем из n вещественных элементов, вычислить: C++
C++ В одномерном массиве В, состоящем из N вещественных элементов, вычислить:

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

Или воспользуйтесь поиском по форуму:
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
21.03.2011, 21:08  [ТС]     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить.. #15
вот в инете нарыл эту задачу.. говорят, что правильно решена... выкладываю, может пригодится кому..))
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
84
85
86
# include <stdio.h> //для использования ввода/вывода информации
# include <windows.h> //для использования русского языка
# include <math.h> // для использования математических функция
# include <stdlib.h> // для использования случайного заполнения
# include <time.h> // для использования системного времени
int Kol (float*,float,int);  // объявление функции
int sum (float*,int);
void mass(float *,float *, int n);
int main()
{   SetConsoleOutputCP(1251);  //для вывода русских символов
      int n=10;
      float *a= new float[n];
      float *b;
      float  C; //объявление переменных вещественного типа
      int  i; //объявление переменных целого типа
      srand(time(NULL));
      for (i=0; i<n; i++)   //условия цикла
      a[i]=20.0*rand()/RAND_MAX-10.0;
      printf("Начальный массив a:\n");
      for (i=0; i<n;i++)  //условия цикла
      printf("%6.2f",a[i]); // вывод массива
      printf("\nВведите С=");
      scanf("%f",&C);
      printf("\nКоличество элементов равно %d",Kol(a,C,n));
      printf("\nCумма целых частей элементов массива %d",sum (a,n));
      mass(a, b, n);
      system("pause");
      return 0;
    }
   // функция подсчета элементов
    int Kol (float*a, float C,int n)
    {
        int i, kolvo=0;
 
        for (i=0;i<n;i++)
        { if (a[i]<C)
           kolvo=kolvo+1;
            }
          return kolvo;
               }
    // функция  сумму целых частей элементов массива, расположенных после последнего отрицательного элемента
   int sum (float*a,int n)
    {  int i, iotr=0, summa=0;
    {  for (i=0;i<n;i++)
          { if (a[i]<0)
            iotr=i;
            }
       for (i=iotr+1;i<n;i++)
         {summa+=(int)a[i]; }
        }
        return summa;
        }
   // расположим  все  элементы,  отличающиеся
   // от  максимального  не более чем на 20%, а потом – все остальные.
void mass(float a[],float b[],int n)
{
int i, imax, cnt=0;
float max;
 
b = new float[sizeof(a)/sizeof(a[0])];
 
max = a[0];
imax = 0;
for(i=0; i<n; i++)
 {
 if(a[i]>max)
  {
   max=a[i];
  imax=i;
 }
 }
for(i=0; i<n; i++)
 {
 if(fabs(a[i])-fabs(0.80*a[imax])>=0)
    b[cnt++]=a[i];
 
 }
for(i=0; i<n; i++)
 {
 if(fabs(a[i])-fabs(0.80*a[imax])<0)
  b[cnt++]=a[i];
 }
printf("\nНовый массив b[]= ");
for(i=0;i<n;i++)
 printf("%6.2f",b[i]);
}
Yandex
Объявления
21.03.2011, 21:08     С++ В одномерном массиве, состоящем из n вещественных элементов, вычислить..
Ответ Создать тему
Опции темы

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