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

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

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

Подскажите как исправить ошибку - C++

02.10.2013, 19:37. Просмотров 544. Ответов 10
Метки нет (Все метки)

писал программу по заданию и не могу понять где ошибка но у меня она решает не правильно
Сформировать одномерный массив из целых чисел. Вывести на экран индексы тех элементов, которые кратны трем и пяти.
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
#include <stdio.h> 
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
int main () 
{   
    int i, a, b=0;
    printf("Vvedite razmernost' massiva: ");
    scanf("%d", &a);//ââîä Г§Г*Г*Г·Г*ГЁГ© ïåðåìåГ*Г*îé Г*
    int mas[a];//ñîñòГ*âëåГ*ГЁГҐ Г¬Г*Г±Г±ГЁГўГ* ГЁГ§ ïåðåìåГ*Г*îé a
    srand(time(NULL));//Г§Г*ГЇГіГ±ГЄ ГЈГҐГ*ГҐГ°Г*òîðГ* Г¬Г*ññèâîâ
    printf("elementy massiva:");
    for (i=0;i<a;i++) 
    {mas[i]=rand()%100;// âûâîäèò Г¬Г*Г±Г±ГЁГў Г·ГЁГ±ГҐГ« Гў ïåðåäГ*Г«Г*Гµ 100 
    printf(" %d", mas[i]);};//âûâîäèò ïîëó÷åГ*Г*ûé Г¬Г*Г±Г±ГЁГў Г*Г* ГЅГЄГ°Г*Г*
    printf("\n");//ïåðåõîä Г*Г* ñëåäóþùóþ ñòðîêó
    printf("indeksy elementov, kotorye kratny 3 i 5:");
    for (i=0;i<a;i++)
     {if (((mas[i]%3)==0)&&((mas[i]%5)==0))//åñëè  Г¬Г*Г±Г±ГЁГў ГЄГ°Г*ГІГҐГ* 3 ГЁ ГЇГїГІГЁ  ГЇГ®Г¤Г№ГЁГІГ»ГўГ*ГҐГІ êîëè÷åñòâî ГЁГ*äåêñîâ
      {printf(" %d", i); b+=1;};}
    if (b==0) printf(" <net elementov>");//åñëì ïðåäûäóùèå óñëîâèå Г*ГҐ âïîëГ*ГїГҐГІГ±Гї ââîäèò ñîîáùåГ*ГЁГҐ
    printf("\n");
    getch( ) ;
    return 0;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2013, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите как исправить ошибку (C++):

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...

Подскажите, как исправить ошибку - C++
void crop(char *str) { while (*str) { char i = 'q'; if (*str == ' ') { *str = i; //ошибка здесь cout &lt;&lt; str &lt;&lt; '\n'; ...

подскажите как исправить ошибку - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; #define eps 1.e-6 double f_ln( double, double ); void main() ...

Подскажите как исправить ошибку - C++
Здравствуйте! Подскажите, как исправить ошибку при выполнении программы: #include &lt;iostream&gt; #include &lt;stdarg.h&gt; using namespace std;...

Подскажите как исправить ошибку - C++
Мужики, программы пишу на Dev-C++ И при любой программе выдаёт ошибку,как исправить это?

Ребят, подскажите как исправить ошибку... - C++
не могу понять , много что перепробывал компилятор C++ builder codegear вот собственно сам код ...

10
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 557
02.10.2013, 19:46 #2
Цитата Сообщение от baffer55 Посмотреть сообщение
писал программу по заданию и не могу понять где ошибка но у меня она решает не правильно
Сформировать одномерный массив из целых чисел. Вывести на экран индексы тех элементов, которые кратны трем и пяти.

C++
1
2
3
 printf("Vvedite razmernost' massiva: ");
    scanf("%d", &a);//ââîä Г§Г*Г*Г·Г*ГЁГ© ïåðåìåГ*Г*îé Г*
    int mas[a];//ñîñòГ*âëåГ*ГЁГҐ Г¬Г*Г±Г±ГЁГўГ* ГЁГ§ ïåðåìåГ*Г*îé a
для начала- массив можно объявлять так
C++
1
2
3
4
int arr[5];
...
const int a=5;
int arr[a];
если вы хотит вводить размер с клавиатуры нужно по другому объявлять
C++
1
int* arr=new int[a];
0
baffer55
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 10
02.10.2013, 19:50  [ТС] #3
нет проблема в том что программа порой не правильна считает индексы. допустим есть индексы кратные 3 и кратные 5 но программа ввыводит сообщение что нет элементов.
0
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 557
02.10.2013, 19:53 #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
#include <stdio.h> 
 #include <stdlib.h>
 #include <time.h>
 #include <conio.h>
#include <iostream>
 
 int main () 
 { 
 int i, b=0;
 const int a=10;
 int mas[a];
 
 srand(time(NULL));
 printf("elementy massiva:\n");
 
 for (i=0;i<a;i++)  {
     mas[i]=rand()%100; 
    printf(" %d", mas[i]);
 }
 printf("\n");
 printf("indeksy elementov, kotorye kratny 3 i 5:");
 
    for (i=0;i<a;i++)
    {
        if (((mas[i]%3)==0)&&((mas[i]%5)==0))
        {
            printf(" %d", i); b=1;
        }
    }
    if (b==0) printf(" <net elementov>");
 printf("\n");
 getch( ) ;
 return 0;
 }
Добавлено через 2 минуты
Цитата Сообщение от baffer55 Посмотреть сообщение
нет проблема в том что программа порой не правильна считает индексы. допустим есть индексы кратные 3 и кратные 5 но программа ввыводит сообщение что нет элементов.
elementy massiva:
27 37 4 17 32 6 75 49 69 8
indeksy elementov, kotorye kratny 3 i 5: 6

elementy massiva:
10 23 90 75 24 27 33 62 14 96
indeksy elementov, kotorye kratny 3 i 5: 2 3

все работает
0
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.10.2013, 19:53 #5
Цитата Сообщение от baffer55 Посмотреть сообщение
нет проблема в том что программа порой не правильна считает индексы. допустим есть индексы кратные 3 и кратные 5 но программа ввыводит сообщение что нет элементов.
Например?
0
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 557
02.10.2013, 19:55 #6
не забывайте что кратность должна быть 3и5 одновременно, а таких чисел мало-15,30,45,75,60,90 и вроде все=)
0
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.10.2013, 19:58 #7
Цитата Сообщение от newb_programmer Посмотреть сообщение
не забывайте что кратность должна быть 3и5 одновременно
Кстати, это следует из кода, но не следует из задания:
Цитата Сообщение от baffer55 Посмотреть сообщение
которые кратны трем и пяти
Если бы было написано: ...которые кратны и трём, и пяти...
Поэтому, нужно уточнение от ТС.
0
5Hur1KEN
11 / 11 / 1
Регистрация: 25.09.2013
Сообщений: 64
02.10.2013, 20:02 #8
ну сразу начну с того что нельзя задавать размерность массива неконстантым выражением, у тебя:
C++
1
2
scanf("%d", &a);
int mas[a];
такое недопустимо

предлагаю вместо статического массива запилить динамический:
C++
1
int *mas = new int[a];
а вот и исправленная ошибка:
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
#include <stdio.h> 
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
int main()
{
    int a, b = 0;
    printf("Vvedite razmernost' massiva: ");
    scanf("%d", &a);
    int *mas = new int[a];
    srand(time(NULL));
    printf("elementy massiva:");
    for (int i = 0; i < a; i++)
    {
        mas[i] = rand() % 100;
        printf(" %d", mas[i]);
    };
    printf("\n");
    printf("indeksy elementov, kotorye kratny 3 i 5:");
    for (int i = 0; i < a; i++)
    {
        if (((mas[i] % 3) == 0)&&((mas[i] % 5) == 0))
        {
            printf(" %d", i);
            b += 1;
        };
    }
    if (b == 0) printf(" <net elementov>");
    printf("\n");
    return 0;
}
причина ещё была в том что индекс i я просто инициализировал в цикле
0
baffer55
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 10
02.10.2013, 20:04  [ТС] #9
все равно не правильно подсчитыват
0
Миниатюры
Подскажите как исправить ошибку  
5Hur1KEN
11 / 11 / 1
Регистрация: 25.09.2013
Сообщений: 64
02.10.2013, 20:21 #10
Цитата Сообщение от baffer55 Посмотреть сообщение
все равно не правильно подсчитыват
в моей программе, что я тебе написал, всё работает!
0
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.10.2013, 20:26 #11
Цитата Сообщение от baffer55 Посмотреть сообщение
все равно не правильно подсчитыват
Какие из этих элементов кратны, по-вашему, и 3, и 5?

Добавлено через 2 минуты
Цитата Сообщение от 5Hur1KEN Посмотреть сообщение
такое недопустимо
Не все разработчики компиляторов так считают.
1
Миниатюры
Подскажите как исправить ошибку  
02.10.2013, 20:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2013, 20:26
Привет! Вот еще темы с ответами:

Подскажите, как исправить 1 ошибку в программе? - C++
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; double min = 0; /* зовнiшня змiнна */ int...

Подскажите, пожалуйста, как исправить ошибку - C++
Условие задачи: Разработать программу для работы с БД, которая обеспечивает автоматизированную продажу авиабилетов на месяц вперед....

Написала программу, выводит ошибку, подскажите как исправить - C++
Вот сама задача:Вычислить и вывести на экран значения функции y = f(x) в точках x0=xнач, x1=x0+h, x2=x1+h, … xN = xкон, где h =(xкон –...

Вот код, подскажите как исправить ошибку, пожалуйста??? - C++
Вот вибивает такие ошибки: 1&gt;c:\users\user\desktop\ооп 6\ооп 6\ооп6.cpp(40) : error C2661: D3:: D3: нет перегруженной функции,...


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

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

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