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

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

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

найти ошибку - C++

02.06.2009, 09:52. Просмотров 420. Ответов 3
Метки нет (Все метки)

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [a;b], а потом все остальные.
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
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <math.h>
# include <iostream.h>
 
void main()
{
 
int a[100],i,t,k,g,n,h,s,c,b;
printf ("\nvvedite kolichestvo elementov massiva\n");
scanf("%i", &n);
        printf ("massiv:\n");
        randomize();
for (i=0; i<n; i++)
{
a[i]=random(20);
printf ("%4i", a[i]);
}
   t=1;
   for (i=0;i<n;i++)
   {
   if ((abs(a[i]))>(abs(t)))
   {(t=(abs(a[i])));
   k=a[i];}
    }
             printf ("\nmaximalnbli po modulu elem\n");
             for(i=0;i<n;i++)
             {
             if (k==a[i])
             {i++;g=i;break;}
 
             }
             printf("\n%i",k);
             printf ("\nnomer maximalnogo po modulu elem\n");
             printf("\n%i",g);
       s=0;
       printf ("\nsumma modulei elementov massiva raspololllennblh posle pervogo pololllitelnogo\n");
       for (i=0;i<n;i++)
       {
       if (a[i]>0)
       {i++;g=i;break;}
       }
       for (i=g;i<n;i++)
       {
       s=s+(abs(a[i]));
       }
       printf("\n%i",s);
 
               printf ("\nvvedite nachalo promellutka\n");
               scanf("%i", &c);
               printf ("\vvedite conec promellutka\n");
               scanf("%i", &b);
                   for (i=0;i<n;i++)
                  {
                  if((((int)a[i]<=c)&&((int)a[i])<=b))
                  {
                  a[i]=t;
                  t=a[i+1];
                  a[i+1]=a[i];
                  a[i]=t;
                  }
                  else
                  {
                  h=a[n];
                  a[n]=a[i];
                  a[n-i]=t;
                  }
                  }
           printf;
           for (i=0; i<n; i++)
           {
           printf ("%4i", a[i]);
           }
getch();
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2009, 09:52     найти ошибку
Посмотрите здесь:

Найти ошибку - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;malloc.h&gt; #include &lt;math.h&gt; using...

Найти ошибку... - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { int i,j,n,m,p=0,o=0,k=0; int **mass1; printf( &quot;vvedite kol-vo strok...

Найти ошибку - C++
Добрый вечер, видал на форуме дня 3-4 назад пост с этим кодом и дело в том что перевод слов делается только en-&gt;ru, а на оборот никак не...

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

найти ошибку - C++
#include &lt;iostream&gt; #include &lt;locale&gt; #include &lt;string&gt; using namespace std; struct seyf { int god; char name ; char...

Найти ошибку - C++
/*7) Может ли число вида АВАВ, где А и В – цифры, быть точным квадратом? Если да, то вывести на экран все варианты*/ #include...

найти ошибку - C++
Вопрос: что не так? Выводит: error C3861: time: идентификатор не найден Вот собственно программка #include &lt;iostream&gt; #include...

Найти ошибку - C++
Добрый день. Есть задача с codeforces (условие). Вот моё решение: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; ...

найти ошибку? - C++
#include &lt;iostream&gt; using namespace std; int main() { int x, y; x = 10; y = 3; cout &lt;&lt; õ/ó; // Áóäåò...

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

найти ошибку - C++
Помогите найти ошибку в коде,пожалуйста #include&lt;iostream.h&gt; char newline; class rast { char mesto; public: ...

Найти ошибку - C++
Пусть х1=0.3; х2=-0.3; хi=i+sin(xi-2), i=3, 4, … Среди х1, …, х100 найти бли- жайшее к какому-нибудь целому. #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lord_Voodoo
Супер-модератор
8580 / 2180 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
02.06.2009, 10:03     найти ошибку #2
что значит - помогите найти ошибку? вы пишите в блокноте программу?
Marinich
9 / 9 / 4
Регистрация: 22.05.2009
Сообщений: 54
02.06.2009, 11:31     найти ошибку #3
Весь код, начиная с строки №54 - сплошная ошибка. Логики вообще никакой.
ЗЫ: стока №56 меня повеселила
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
02.06.2009, 12:46     найти ошибку #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
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <ctime>
#include <algorithm>
using namespace std;
 
void out(double *a,int n);
void vin(double *a,int n);
void ras(double *ar,double *br,int n,int a,int b);
void oper(double *ar,int n,int a,int b);
bool my(double i,double j) { return (i<j); }
int main(int argc, char* argv[])
{
    setlocale(0,"");
    int n,
        a,b;
    double *ar;
    cout << "Введите количество элементов в массиве: ";
    wcin >> n;
    cout << "Введите границы интервала([a,b]): ";
    wcin >> a >> b;
    _flushall();
    ar = new double[n];
    oper(ar,n,a,b);
    delete[]ar;
    getchar();
    return 0;
}
void vin(double *a,int n){
    srand(time(0));
    for(int i = 0; i < n;i++){
        a[i] = rand()%401-200;
        a[i] /= 8;
    }
}
void out(double *a,int n){
    cout << "Массив :" << endl;
    for(int i = 0; i < n;i++)
        cout << a[i] << "   ";
    cout << "\n\n";
}
void ras(double *ar,double *br,int n,int a,int b){
    int k = 0,z = 0;
    double y = 0,x = 0,*cr;
    cr = new double[n];
    for(int i = 0; i < n; i++){
        y = modf(ar[i],&x);
        if((x >= a) && (x <= b))
            br[k++] = ar[i];else
            cr[z++] = ar[i];
    }
    sort(br,br+k,my);
    sort(cr,cr+z,my);
    z = 0;
    for(int i = k+1;i < n;i++){
        br[i] = cr[z++];
    }
    for(int i = 0;i < n;i++){
        ar[i] = br[i];
    }
}
void oper(double *ar,int n,int a,int b){
    double *br;
    br = new double[n];
    vin(ar,n);
    out(ar,n);
    ras(ar,br,n,a,b);
    out(ar,n);
}
Yandex
Объявления
02.06.2009, 12:46     найти ошибку
Ответ Создать тему
Опции темы

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