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

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

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

Списки. К каждому элементу списка прибавить значение следующего элемента списка. Последний элемент не менять - C++

29.11.2013, 23:41. Просмотров 681. Ответов 6
Метки нет (Все метки)

Данные списка должен ввести пользователь. Результат нужно сформировать в начальном списке, никаких новых списков создавать нельзя. Спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 23:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Списки. К каждому элементу списка прибавить значение следующего элемента списка. Последний элемент не менять (C++):

Удалить из списка последний отрицательный элемент, если такой есть (линейные списки) - C++
Помогите, пожалуйста. Нужно, написать программу, которая удаляет из списка последний отрицательный элемент, если такой есть.

Получить указатель на элемент двунаправленного списка, добавить значение в начало списка и очистить его - C++
Нужно создать двунаправленный список //вроде так, но не уверен struct Double_List {//структура данных int Data;...

Формирование и просмотр списка и функция, которая изменяет каждое значение информационной части элемента списка на его квадрат - C++
Написать программу, содержащую процедуры формирования и просмотра списка и функцию, которая изменяет каждое значение информационной части...

Вывести содержимое списка в следующем порядке: первый элемент, последний элемент, второй элемент, предпоследни - C++
#include <iostream> #include <list> #include <iterator> void output(std::list<int> myList, std::list<int>::iterator iter1,...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
29.11.2013, 23:52 #2
Так тебе нужно именно суммирование значений в списке сделать? А как объявлен список? Создание то списка у тебя есть¿
0
unityboxy
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 19
30.11.2013, 15:17  [ТС] #3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Так тебе нужно именно суммирование значений в списке сделать? А как объявлен список? Создание то списка у тебя есть¿
Нужно создать односвязный список, пользователь вводит элементы списка и к каждому элементу введённого списка нужно прибавить следующее значение этого списка, а последний оставить без изменений.

Добавлено через 1 час 45 минут
Вверх

Добавлено через 13 часов 36 минут
Не выходит
0
Taatshi
Администратор
11351 / 4929 / 251
Регистрация: 05.04.2011
Сообщений: 13,579
Записей в блоге: 2
30.11.2013, 19:18 #4
unityboxy, а что не получилось? Ошибка какая? Код покажите.
0
unityboxy
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 19
03.12.2013, 00:41  [ТС] #5
Taatshi,

вот, пользователь вводит список, после чего программа находит максимальный элемент (доп. задание)
Но вот как к каждому элементу списка прибавить значение следующего и последний не менять?

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
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h>
#define QUE struct que                /* тип даних */
 QUE
 {
  int info;
  QUE *next;
 };
void insert(QUE **q, int item);
int take_off(QUE **q, int *err);
void display(QUE * q);
QUE *create_list();
QUE *q=NULL;                         /* оголошення списку */   
void display(QUE * q);                /* функцiя виведення списку */
int maxelem(QUE * q);                 /* функцiя обробки списку */
QUE * create_list();                 /* функцiя створення списку */
void insert (QUE **q, int item);      /* функцiя додавання елемента до списку */
int main()                              /* головна функцiя */
{
 int err;
 int rez;
 create_list();
 display(q);
 rez=maxelem(q);
 if(rez)
  printf("Max elem=%d\n", rez);
 else
  printf("Net nechetnih\n");
 getch();
}
void display(QUE * q)                /* функцiя виведення списку */
{
 QUE * current = q;       
    printf("LIST=\n");
    while(current)
    {
  printf("%d-->", current->info);
  current = current ->next;
    }
    printf("\n");
}
int maxelem(QUE * q)                  /* функцiя обробки списку */
{
 QUE * current = q;
    int max=-99;
    printf("LIST<0\n");
    while(current)
    {
  if(current->info >max)max=current->info;
  current = current ->next;
    }
 return max;
}
QUE * create_list()
{
 QUE * list=NULL;
    int done=1,info,c;
    printf("Creation of list:\n");
 while(done)
    {
  printf("Add new element? (Y/N)");
  c=getch();
        c=toupper(coffee);
        switch(coffee)
     {
  case 'Y':printf("\n Element=");
       scanf("%d", &info);
       insert(&q, info);
       break;
     case 'N': done=0;
       break;
  }
     }
    return (list);
}
void insert (QUE **q, int item)      /* функцiя додавання елемента до списку */
{
 QUE *current=*q;
 QUE *previous=0;
 QUE *new_node;
 while(current)
 {
  previous=current;
  current=current->next;
 }
 new_node=(QUE*) malloc (sizeof (QUE));
 new_node->info=item;
 if(previous)
 {
  new_node->next=previous->next;
  previous->next=new_node;
 }
 else
 {
  *q=new_node;
  (*q)->next=0;
 }
}
Добавлено через 23 часа 30 минут
Вверх
0
unityboxy
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 19
05.12.2013, 04:46  [ТС] #6
Вверх
0
unityboxy
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 19
09.12.2013, 21:32  [ТС] #7
Ап ап ап
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2013, 21:32
Привет! Вот еще темы с ответами:

Каждому элементу главной диагонали прибавить сумму предшествующих ему элементов - C++
Дана матрица А(n,n) Если на главной диагонали матрицы есть хотя бы один отрицательный элемент, то к каждому элементу главной диагонали...

Удалить из списка последний элемент - C++
Задание: Удалить из списка последний элемент. #include&lt;iostream.h&gt; #include&lt;conio.h&gt; struct elem { int Data; elem *Next; ...

Разработать класс Итератор, методы которого: переход в начало списка, в конец, к текущему элементу списка, к с - C++
Разработать класс Итератор, методы которого: переход в начало списка, в конец, к текущему элементу списка, к следующему элементу, к...

Удалить из непустого списка L последний элемент. - C++
Прошу помочь решить задачки!:(очень нужно (Билет №15) Удалить из непустого списка L последний элемент. Правила форума


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.12.2013, 21:32
Ответ Создать тему
Опции темы

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