Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
no SOPA
0 / 0 / 2
Регистрация: 20.02.2012
Сообщений: 41
#1

криво считает произведение - C++

20.02.2012, 21:40. Просмотров 363. Ответов 6
Метки нет (Все метки)

всё, кроме произведения, работает правильно

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define n 10
int main ()
{
clrscr();
int a[n],b[n];
int i,j,c,k,max,m;
long s;
srand(time(NULL));
for (i=0; i<n; i++)
 {
 a[i]=rand()%30-15;
 printf ("%i  ",a[i]);
 }
printf ("\nvvedite c\n");
scanf ("%i",&c);
max=abs(a[0]);
s=1;
k=0;
for (i=0; i<n; i++)
 if (a[i]>c) k++;
for (i=0; i<n; i++)
 if (abs(a[i])>max)
  {
  max=abs(a[i]);
  m=i;
  }
for (j=m+1; j<n; j++)
 s*=a[j];
printf ("k=%i  s=%i\n",k,s);
k=0;
for (i=0; i<n; i++)
 if (a[i]<0)
  {
  b[k]=a[i];
  k++;
  }
for (i=0; i<n; i++)
 if (a[i]>=0)
  {
  b[k]=a[i];
  k++;
  }
for (i=0; i<n; i++)
 printf ("%i  ",b[i]);
system ("pause");
getch();
return 0;
}
полное задание:
1) найти все элементы больше С
2) посчитать произведение элементов после максимального
преобразовать массив, чтобы слева были все отрицательные, справа - положительные (включая 0).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2012, 21:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос криво считает произведение (C++):

криво считает сумму
всё, кроме подсчёта суммы, работает правильно. need help! #include &lt;stdio.h&gt;...

Не считает произведение разных типов данных
Никак не могу разобраться, почему программа не хочет считать произведение. Вот...

Функция, которая считает по двум значениям их произведение
Напишите пожалуйста, функцию, которая считает по двум значениям их произведение.

программа, которая считает и печатает произведение нечетных целых от 1 до 15
Напишите программу, которая считает и печатает произведение нечетных целых от 1...

Криво работает do while
Есть рабочий код на паскале, var a, k, s, b, x1, x2, y1, y2, h: real; ...

Криво читается бинарник
Здравия желаю! #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; ...

6
vetal10
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
20.02.2012, 22:19 #2
вроде должно правильно считать. мот просто выходит что j сразу больше n?
0
no SOPA
0 / 0 / 2
Регистрация: 20.02.2012
Сообщений: 41
20.02.2012, 22:23  [ТС] #3
вот и я не понимаю, что не так.
j не может быть больше n
0
vetal10
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
20.02.2012, 22:37 #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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctime>
#define n 10
int main ()
{
    clrscr();
    int a[n],b[n];
    int i,j,c,k,max,m;
    long s;
    srand(time(NULL));
    for (i=0; i<n; i++)
    {
        a[i]=rand()%30-15;
        printf ("%i  ",a[i]);
    }
    printf ("\nvvedite c\n");
    scanf ("%i",&c);
    max=abs(a[0]);
    s=1;
    k=0;
    for (i=0; i<n; i++){
        if (a[i]>c) k++;
        if (abs(a[i])>max)
        {
            max=abs(a[i]);
            m=i;
        }
    }
    for (j=m+1; j<n; j++)
            s*=a[j];
        printf ("k=%i  s=%i\n",k,s);
        k=0;
        for (i=0; i<n; i++)
            if (a[i]<0)
            {
                b[k]=a[i];
                k++;
            }
            for (i=0; i<n; i++)
                if (a[i]>=0)
                {
                    b[k]=a[i];
                    k++;
                }
                for (i=0; i<n; i++)
                    printf ("%i  ",b[i]);
                system ("pause");
                getch();
                return 0;
}
0
no SOPA
0 / 0 / 2
Регистрация: 20.02.2012
Сообщений: 41
20.02.2012, 22:51  [ТС] #5
вы объединили циклы, но дело в том, что мне потом надо по функциям распихать всё. хотя, может, сделаю с функциями и оно заработает
0
vetal10
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
20.02.2012, 23:06 #6
ну вот
C++
1
2
3
4
5
6
7
8
9
10
    for (i=0; i<n; i++){
        if (a[i]>c) k++;
    }
    for(i=0;i<n;i++){
        if (abs(a[i])>max)
        {
            max=abs(a[i]);
            m=i;
        }
    }
одним целым приетней просто смотреть
0
no SOPA
0 / 0 / 2
Регистрация: 20.02.2012
Сообщений: 41
20.02.2012, 23:32  [ТС] #7
так у меня тоже самое
0
20.02.2012, 23:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2012, 23:32
Привет! Вот еще темы с решениями:

Криво считывает из файла
Ситуация такая. Есть файл base.txt, там есть номера телефонов (по 11 символов...

Кодирование происходит криво
Нужно сгенерировать ключ, с помощью этого ключа зашифровать текст из файла,...

Функиця криво работает
не могу понять в чем дело она не выводит весь текст.Нужно чтоб фунцкия два раза...

Потоки в винде. Работает, но криво
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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