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

Неправильно написан код - C++

Восстановить пароль Регистрация
 
luigration
2 / 2 / 0
Регистрация: 04.01.2013
Сообщений: 154
15.03.2014, 22:58     Неправильно написан код #1
Функция должна находить простые числа в заданном массиве. Выходит что-то вроде 003С100 ..

C++ (Qt)
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
void f1 (int*mas)
{
    int size = sizeof(mas);
 
    int s=1;
 
    for(int i=0; i<(size-1); i++)
    {
        if(mas[i] != s) && (abs(mas[i]) >s))
        {
            s= mas[i];
        }
        if(mas[i+1]%s==0)
        {
            mas[i+1]=0;
        }
 
    }
    
    int k;
    int *prime = new int [k];
    int a=-1;
 
    for(int i=0; i< size; i++)
    {
        if(mas[i] != 0)
        {
            prime[a+1] = mas[i];
        }
    }
 
 
    delete prime;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
15.03.2014, 23:05     Неправильно написан код #2
luigration, что это за бред?
luigration
2 / 2 / 0
Регистрация: 04.01.2013
Сообщений: 154
15.03.2014, 23:16  [ТС]     Неправильно написан код #3
Цитата Сообщение от Tulosba Посмотреть сообщение
luigration, что это за бред?
Вот и я спрашиваю
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
15.03.2014, 23:23     Неправильно написан код #4
Цитата Сообщение от luigration Посмотреть сообщение
int size = sizeof(mas);
что это? Это же размер всего массива в байтах, а не кол-во элементов.
luigration
2 / 2 / 0
Регистрация: 04.01.2013
Сообщений: 154
15.03.2014, 23:26  [ТС]     Неправильно написан код #5
Цитата Сообщение от recoder Посмотреть сообщение
что это? Это же размер всего массива в байтах, а не кол-во элементов.
Разве?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
15.03.2014, 23:31     Неправильно написан код #6
Цитата Сообщение от recoder Посмотреть сообщение
Это же размер всего массива в байтах, а не кол-во элементов.
это размер указателя вообще-то.
DrOffset
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,592
15.03.2014, 23:32     Неправильно написан код #7
Цитата Сообщение от recoder Посмотреть сообщение
что это? Это же размер всего массива в байтах, а не кол-во элементов.
Это вообще размер указателя, если что
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
15.03.2014, 23:33     Неправильно написан код #8
Ещё очень эпично смотрится вот это:
Цитата Сообщение от luigration Посмотреть сообщение
C++
1
2
int k; 
int *prime = new int [k];
Как можно выделять память, используя не инициализированную переменную в качестве кол-ва элементов?
luigration
2 / 2 / 0
Регистрация: 04.01.2013
Сообщений: 154
15.03.2014, 23:35  [ТС]     Неправильно написан код #9
Цитата Сообщение от DrOffset Посмотреть сообщение
Это вообще размер указателя, если что
Люди, помогите написать функцию.. Или просто подскажите алгоритм. Буду очень признательна

Добавлено через 45 секунд
Цитата Сообщение от Tulosba Посмотреть сообщение
Ещё очень эпично смотрится вот это:
Как можно выделять память, используя не инициализированную переменную в качестве кол-ва элементов?
И правда.. Я даже не заметила этого
DrOffset
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,592
15.03.2014, 23:41     Неправильно написан код #10
Добавлено через 3 минуты
luigration, поиск по форуму же...

Добавлено через 1 минуту
Вот еще.
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
16.03.2014, 08:58     Неправильно написан код #11
Tulosba, Блин, точно, совсем забыл что в функцию передали.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2014, 10:10     Неправильно написан код
Еще ссылки по теме:

Код написан,нужна небольшая корректировка.Массивы C++
Односвязный список (псевдокод) - поменять два элемента местами (посмотреть, правильно ли написан код) C++
Правильно ли написан код C++

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,165
Завершенные тесты: 1
16.03.2014, 10:10     Неправильно написан код #12
Из вышеприведенного поста с исправлением ошибки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void SearchPrimeNumbers(int A[], int N) 
{
     for (int i=0; i<N; i++)
    {
         int n=A[i];
         bool f=false;
         for (int d=2; d*d<=n; d++)
              if (n%d==0)
              {
                   f=true;break;
              }
        if(!f)
             printf("%d ", A[i]);
    }
}
Yandex
Объявления
16.03.2014, 10:10     Неправильно написан код
Ответ Создать тему
Опции темы

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