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

Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Ed1986
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 8
14.03.2013, 16:03     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран #1
Помогите пж. Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран. А все четные числа из списка удалить. Вывести на экран еще раз. (не забудьте проверку на first)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 16:03     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран
Посмотрите здесь:

Как заполнить матрицу 6*9 случайными действительными числами и вывести на экран? C++
Создать и заполнить массив случайными числами и вычислить сумму его элементов C++
C++ Заполнить одномерный массив n случайными числами от -15 до 3. Вычислить и вывести на экран
C++ Заполнить файл N вещественными случайными числами, найти минимальное значение и вывести его на экран
Заполнить двухмерный массив случайными числами и вывести на экран C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11837 / 6816 / 771
Регистрация: 27.09.2012
Сообщений: 16,908
Записей в блоге: 2
Завершенные тесты: 1
14.03.2013, 16:04     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран #2
Цитата Сообщение от Ed1986 Посмотреть сообщение
Нужно создать список
Односвязный?
Ed1986
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 8
14.03.2013, 17:06  [ТС]     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран #3
да))

Добавлено через 27 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
Односвязный?
да-да)))
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
14.03.2013, 19:44     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран #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
#include <iostream>
#include <list>
#include <iterator>
#include <cstdlib>
#include <ctime>
#include <algorithm>
template <class T>
inline T rnd(T& x)
{
   return x = rand()%10;
}
template <class T>
inline bool is_even(T& x)
{
   return !(x%2);        
}
int main()
{
     srand(time(NULL));
     std::list<int> l(10);
     std::for_each(l.begin(), l.end(), rnd<int>);
     std::copy(l.begin(), l.end(), std::ostream_iterator<int> (std::cout," "));
     l.erase(std::remove_if(l.begin(), l.end(), is_even<int>), l.end());
     std::cout<<std::endl<<"After delete: "<<std::endl;
      std::copy(l.begin(), l.end(), std::ostream_iterator<int> (std::cout," "));
     return 0;
}
Ed1986
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 8
14.03.2013, 21:26  [ТС]     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран #5
BumerangSP, извините но мне нужно в таком виде
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
#include <iostream>
using namespace std;
struct comp {
        char name[20]; // Имя переменной
        int value; // Значение переменной
        comp* next; //Ссылка на следущий элемент списка
}; 
 
void add(comp* &first, char n[20], int v){
//добавление элемента в конце списка
    comp* p=first;
    comp* c = new comp; 
    strcpy(c->name,n);
    c->value=v;
    c->next=NULL;
    if(first==NULL) 
        first=c;
    else{
        while(p->next!=NULL){
            p=p->next;
        }
        p->next=c;
    }
}
 
void display(comp* p){
//вывод на экран, начиная с элемента p
    while(p!=NULL){
        cout<<p->name<<" "<<p->value<<endl;
        p=p->next;
    }
 
}
 
void main(){
    comp* first=NULL;
//добавим 2 элемента
    add(first,”Bob”,13);
    add(first,”Alice”,21);
    display(first);
    //удалим первый элемент
    comp* n = first;
    first=n->next;
    delete first;
    cout<<----”
    display(first);
}
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
14.03.2013, 22:35     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран #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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <cstdlib>
#include <ctime>
class mylist
{
        struct s
        {
           int data;
            s* next;                 
      }*first;
public:
      mylist(): first(NULL) {}
      ~mylist()
      {
                    
      }
        void add(const int& x)
      {
              s* cur = new s();
              cur->data = x;
              cur->next = first;
              first = cur;
       }
       void delete_even()
       {
             s* cur = first;
             s* tmp = first;   
             while (cur)
              {
                      if (!(cur->data%2))
                      {
                          if (cur == first)
                          {
                             first = first->next;
                             delete cur;
                             cur = first;
                        }
                        else
                        {
                         tmp->next = cur->next;
                              delete cur;  
                              cur = tmp->next;
                          }
                      } else
                      {
                         tmp = cur;
                         cur = cur->next;
                       }              
             } 
       }
       void display()
        {
              s* tmp_first = first;
              while (tmp_first)
              {
                      std::cout<<tmp_first->data<<" ";
                      tmp_first = tmp_first->next;
             }
             std::cout<<std::endl;
      }      
};
 
int main()
{
     srand(time(NULL));
     mylist obj;
     for (int i=0; i<10; ++i)
        obj.add(rand()%10);
    obj.display();
    obj.delete_even();
    obj.display();  
     return 0;
}
Добавлено через 9 минут
Забыл деструктор описать:
C++
1
2
3
4
5
6
7
8
9
~mylist()
      {
                while (first) 
              {
             s *next = first->next;
             delete first;
             first = next;
            }       
      }
Ed1986
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 8
15.03.2013, 09:30  [ТС]     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран #7
BumerangSP, а что обозначает эта запись?
Цитата Сообщение от BumerangSP Посмотреть сообщение
~mylist()
* * * {
* * * * * * * * while (first)
* * * * * * * {
* * * * * * *s *next = first->next;
* * * * * * *delete first;
* * * * * * *first = next;
* * * * * * } * * *
* * * }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 11:34     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран
Еще ссылки по теме:

Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать C++
STL Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по убыванию и вывести C++
C++ Создать одномерный массив, заполнить его случайными числами. Поменять в массиве местами две его половины

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

Или воспользуйтесь поиском по форуму:
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
15.03.2013, 11:34     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран #8
Ed1986, деструктор. Чтоб как полагается: выделили память - освободили. В моем коде он пустой. Его надо добавить, заменив 13-16 строчки.
Yandex
Объявления
15.03.2013, 11:34     Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран
Ответ Создать тему
Опции темы

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