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

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

Восстановить пароль Регистрация
 
nastena1234
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 7
02.06.2009, 09:52     найти ошибку #1
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [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++ найти ошибку
C++ Найти ошибку
Найти ошибку! C++
C++ Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании)
Найти ошибку C++
найти ошибку C++
C++ Найти ошибку
найти ошибку:) C++
C++ В строках матрицы с отрицательным элементом на главной диагонали найти наибольший из всех элементов (найти ошибку в коде)
C++ Найти сумму первых n-четных натуральных чисел (найти ошибку)
C++ Задача из Златопольского: "Найти числа с известным количеством делителей". Не могу найти ошибку
Найти ошибку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8505 / 2172 / 61
Регистрация: 07.03.2007
Сообщений: 10,844
Завершенные тесты: 1
02.06.2009, 10:03     найти ошибку #2
что значит - помогите найти ошибку? вы пишите в блокноте программу?
Marinich
9 / 9 / 4
Регистрация: 22.05.2009
Сообщений: 54
02.06.2009, 11:31     найти ошибку #3
Весь код, начиная с строки №54 - сплошная ошибка. Логики вообще никакой.
ЗЫ: стока №56 меня повеселила
insolent
 Аватар для 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     найти ошибку
Ответ Создать тему
Опции темы

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