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

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

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

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

02.06.2009, 09:52. Просмотров 431. Ответов 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();
 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2009, 09:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос найти ошибку (C++):

Найти ошибку в программе: в visual studio выдает ошибку - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...

Помогите найти ошибку: По двум сторонам и углу найти все остальное - C++
Доброго времени суток. В универе дали задание написать программу &quot;По двум сторонам и углу между ними в треугольнике АВС найти два остальных...

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

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

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) - C++
Препод говорит что тут есть ошибка, но где не говорит, прошу если кото-нибуть заметит сообщите. Ввести одномерный статический массив...

3
Lord_Voodoo
Супер-модератор
8590 / 2205 / 61
Регистрация: 07.03.2007
Сообщений: 10,966
Завершенные тесты: 1
02.06.2009, 10:03 #2
что значит - помогите найти ошибку? вы пишите в блокноте программу?
0
Marinich
9 / 9 / 4
Регистрация: 22.05.2009
Сообщений: 54
02.06.2009, 11:31 #3
Весь код, начиная с строки №54 - сплошная ошибка. Логики вообще никакой.
ЗЫ: стока №56 меня повеселила
0
insolent
826 / 344 / 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);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2009, 12:46
Привет! Вот еще темы с ответами:

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

В строках матрицы с отрицательным элементом на главной диагонали найти наибольший из всех элементов (найти ошибку в коде) - C++
Помогите найти ошибку! Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти...

Задача из Златопольского: "Найти числа с известным количеством делителей". Не могу найти ошибку - C++
Здравствуйте. Задача следующая: Найти все целые числа из промежутка от a до b, у которых количество делителей равно k. К примеру я взял...

найти ошибку - C++
#include&lt;iostream&gt; using namespace std; int min(int a,int min = 1000){ for (int i = 0; i &lt;= 4; i++) if (a &lt; min) min = a; ...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
02.06.2009, 12:46
Ответ Создать тему
Опции темы

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