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

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

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

Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно - C++

27.05.2011, 00:46. Просмотров 598. Ответов 5
Метки нет (Все метки)

Здравствуйте.
Прощу помощи с заданием:
"Ввести число N. Создать очередь из чисел от 0 до N. Создать вторую очередь в которой будут только числа, которые нацело делятся на 2,3,5 одновременно"
Вот код который написал:
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <string.h>
#include "stdafx.h"
#include <iostream>
#include "math.h" 
 
using namespace std;
 
 
struct Item{                     
      int data;                
      Item *next;                 
    };
 Item *head,                          
     *current,                     
     *last;                            
 
 
 
 struct Item2{
     int data2;
     Item2 *next2;
 };
    Item2 *head2,
        *current2,
        *last2;
 
 int n;                               
 char menu;                           
 
 
 
 
 
 void add(int* value)
{                      
  current=new Item;              
 (current->data,value); 
  current->next=NULL;             
  if( last==NULL)              
      head=current;    
  else                          
              
      last->next=current;
  last=current;                  }
 
 void add2(int* value)
 {
     current2= new Item2;
     (current2->data2,value);
     current2->next2=NULL;
     if (last2==NULL)
         head2=current2;
     else
 
         last2->next2=current2;
     last2=current2;
 }
 
 void delenie()
 {
     current=head;
 while(current!=0)
 { if( (current->data)%2 || (current->data)%3 || (current->data)%5)
                {int k=0;}
    else 
        {add2(current->data);}
  current=current->next;
 
  }
  }
void qView2() 
{
current2 = head2; 
cout<<"Queue: ";
    while(current2 != 0)
    {    
    cout<<current2->data2<<" ";
    current2 = current2->next2;
    }
cout<<"\n";
}
 
 
 
 
 int main(){
 
  head=NULL;                                     
  last=NULL; 
  do{                                     
    cout<<endl;
    cout<<"1. Create queue of N numbers"<<endl;
    cout<<"2. Create queue with modification"<<endl;
    cout<<"3. Output queue with modification"<<endl;
    cout<<"0. Close program"<<endl;
    cout<<"Choose menu:";
    cin>>menu;
    switch(menu) {                   
     case '1': {
         cout<<"Enter number of figue ";
         cin>>n;
        for(int i=0;i<n;i++)
        { 
           add(i);                    
           }
         break;
       }
     case '2':{ delenie();break;}
     case '3': {qView2();break;}
                }
  }while(menu!='0');
}

Ошибки которые выдаёт компилятор:
'add2' : cannot convert parameter 1 from 'int' to 'int *'
argument of type "int" is incompatible with parameter of type "int *"

'add' : cannot convert parameter 1 from 'int' to 'int *'
argument of type "int" is incompatible with parameter of type "int *"

в 64 и 105 строках

Добавлено через 1 час 22 минуты
Всё еще надеюсь на помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2011, 00:46     Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно
Посмотрите здесь:

Вывести на экран те числа, которые делятся на цело на три, но не делятся нацело на пять - C++
Для чисел от 20 до 50 вывести на экран те из них ,которые делятся на цело на три ,но не делятся нацело на пять. Помогите решить

Найти числа, которые делятся нацело на 4, но не делятся на 6 - C++
С клавиатуры вводятся десять двузначных чисел. Напечатать те из них, которые делятся нацело на 4, но не делятся на 6. Подсчитать их...

найти количество чисел на отрезке которые нацело делятся на x, и содержат цифры только из набора S - C++
Вам даются три числа x, L, R, необходимо найти количество чисел на отрезке которые нацело делятся на x, и содержат цифры только из набора...

Файлы. Выбрать все значения, которые делятся нацело на 2 и 4, но не делятся на 6 - C++
Остались последние 2 лабы по ООП и отдых до следующего года! только вот ну не могу понять как их делать! Выручите)))) 1. Дан числовой...

Вывод из файла только те числа, которые делятся на 5 - C++
Здравствуйте! Помогите мне пожалуйста! Я записал в файл числа: 2,1,4,3,6,5,8,7......100,99. Прочитал этот файл. И теперь мне нужно...

Вывести все числа (от 1 до 300), которые делятся ТОЛЬКО на 2 или 5 - C++
Всю голову уже сломала! не знаю... тут и получается, что только 2 и 5 подходят.. ну и 125.. а как это все написать.. ума не приложу :(...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.05.2011, 03:55     Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно #2
Быть может указатель заменить на амперсанд или передавать в функцию указатели.
NightmareZ
1339 / 562 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
27.05.2011, 04:32     Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно #3
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
#include <cstdlib>
#include <iostream>
#include <queue>
 
int main()
{
    int n, x;
    std::cin >> n;
 
    std::queue<int> queue1;
    for (int i = 0; i < n; ++i)
    {
        std::cin >> x;
        queue1.push(x);
    }
 
    std::queue<int> queue2;
    while (!queue1.empty())
    {
        x = queue1.front();
        if (!(x % 2 || x % 3 || x % 5))
            queue2.push(x);
        queue1.pop();
    }
 
    return EXIT_SUCCESS;
}
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
27.05.2011, 08:22  [ТС]     Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно #4
Спасибо,но всё-же можно глянуть, что не так в моем коде?Очень хочется исправить его


И в вашем коде всё равно нужно вводить значения добавляемые в первую очередь, а мне нужно что-б они сами вводились.
Т.е. если я ввожу N=100,то первая очередь сама должна стать от 0 до 99, а вторая очередь только те числа которые делятся на 2,3,5 из тех которые входят в последовательность от 0 до 99.
Runa
131 / 83 / 3
Регистрация: 28.08.2009
Сообщений: 363
27.05.2011, 08:49     Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно #5
функция принимает тип int*
C++
1
void add2(int* value)
а передаете вы int
C++
1
2
3
4
struct Item{                     
      int data;                
      Item *next;                 
    };
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2011, 17:15     Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно
Еще ссылки по теме:

Очередь: Создать две новые очереди в которых будут находиться отдельно положительные и отрицательные числа - C++
Задана очередь элементов, содержащий положительные и отрицательное числа.Создать две новые очереди в которых будут находиться отдельно...

Определить количество натуральных чисел, не превышающих n, которые не делятся нацело на 7 - C++
Кто чем может.Новичок ,только учусь 1.Определить количество натуральных чисел, не превышающих n, которые не делятся нацело на 7.

Вывести на экран сумму чисел от 0 до 1000, которые делятся нацело на 3 или 5 - C++
Решила сделать задачку: Вывести на экран сумму чисел от 0 до 1000 , что делятся нацело на 3 или 5 . Но как всегда не правильно сделала,...

Проверить, делятся ли числа нацело - C++
Если a делится на b нацело выводим 1. Если с остатком то любое другое число. if использовать нельзя. Нужно вывести какую-то формулу,...


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

Или воспользуйтесь поиском по форуму:
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
27.05.2011, 17:15  [ТС]     Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно #6
Спасибо. Разобрался.
Yandex
Объявления
27.05.2011, 17:15     Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно
Ответ Создать тему
Опции темы

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