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

Нужно продублировать первое чётное число в односвязном списке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как циклически организовать задание значений, пока не получится то, что надо http://www.cyberforum.ru/cpp-beginners/thread1232542.html
Делал игру кубики нужно сделать ничью что бы когда выбивало два одинаковых значений перекручивало сначала если нету два одинаковых значения переходил к следующему сигменту кода
C++ Запись в ofstream - разобрать код Доброго времени суток объясните как это работает? char msg; //что то записали в msg не важно как, суть в том что туда писали без символа \0, //и данных может быть меньше 255(больше 255 не может быть), // так же знаем сколько записали iMsgSize ofstream File; File.open("bla bla"); File<<msg; File.flush(); http://www.cyberforum.ru/cpp-beginners/thread1232502.html
C++ Бинарный поиск (самое левое вхождение)
int binsearch (int a,int key, int l, int h) { int medium; medium=(l+h)/2; if (l>h) return (l); if (a>key) return (binsearch (a,key,l,medium-1)); else return (binsearch (a,key,medium+1,h)); } Данный алгоритм находит самое правое вхождение элемента. Как найти самое левое?
C++ Ошибка "C2065: сout: необъявленный идентификатор"
Привет! Создала свою первую программу,правда с помощью книги. Вылезла ошибка: \convert_main.cpp(32) : error C2065: сout: необъявленный идентификатор. Помогите разобраться. // // Программа для преобразования // Градусов Цельсия в градусы Фаренгейта: // Fahrenheit = NCelsius * (212 - 32)/100 + 32 // #include <cstdio> #include <cstdlib>
C++ Нужен алгоритм, который будет считать формулу, введённую пользователем в виде строки http://www.cyberforum.ru/cpp-beginners/thread1232400.html
Задача такая: пользователь вводит с клавиатуры формулу, с заведомо неизвестным количеством переменных, а программа должна эту формулу посчитать. Я так понимаю, что строку нужно как-то отсортировать и исходя из тех переменных что будут в формуле создать динамические переменные, или динамический массив. Но только вот что-то совсем не приходит в голову как это всё реализовать)
C++ При значении больше 10 выводит неверный результат При вводе чисел до 10, например 4 выводится результат 4 = 4.02725. Начина с 10 результат такой 10=10. Почему так ? #include <iostream> using namespace std; int main () { setlocale(0,""); int A; double number; number = 0; cout << "Введите число А" << endl; подробнее

Показать сообщение отдельно
Чернокот
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 5
28.07.2014, 17:29  [ТС]     Нужно продублировать первое чётное число в односвязном списке
Сам уже сделал.
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
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
//описание структуры
struct point
{
int num;//информационное поле
point*next;//адресное поле
};
point* make_point()
//создание одного элемента
{
    point*p=new(point);//выделить память
    cout<<"\nВведите число: ";
    cin>>p->num;
    p->next=0;//сформировать адресное поле 
return p;
}
void print_point(point*p)
//печать информационных полей одного элемента списка
{
    cout<<"\nЧисло: "<<p->num;
}
 
point* make_list(int n)
//формирование списка из n элементов
{
    point* beg=make_point();//сформировать первый элемент
    point*r;
    for(int i=1;i<n;i++)
    {
        r=make_point();//сформировать следующий элемент
        //добавление в начало списка
        r->next=beg;//сформировать адресное поле 
        beg=r;//изменить адрес первого элемента списка
    }
    return beg;//вернуть адрес начала списка
}
int print_list(point*beg)
//печать списка, на который указывает указатель beg
{
    point*p=beg;//р присвоить адрес первого элемента списка
int k=0;//счетчик количества напечатанных элементов 
    while(p)//пока нет конца списка
    {
        print_point(p);//печать элемента, на который указывает элемент p
        p=p->next;//переход к следующему элементу
k++;
    }
return k;//количество элементов в списке
}
point* add_point(point*beg)
{
    point*p=beg,*r=new(point),*k=new(point);
    while(p)
    {
        if(p->num%2==0) {r->num=p->num;k=p->next;p->next=r;r->next=k;break;}
        p=p->next;
    }
        return beg;//вернуть начало списка
 
}
 
void main()
{
    setlocale(LC_ALL, "rus");
    int n;
    cout<<"\nВведите размер листа: ";
        cin>>n;
    point*beg=make_list(n);//формирование списка
if(!print_list(beg)) cout<<"\nЛист пуст";
add_point(beg);
cout<<"\nИзменённый список: ";
print_list(beg);
getch();
}//печать списка
 
Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru