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

односвязный список. нахождение суммы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ У меня не работает прога запрограмированная на Численные методы! http://www.cyberforum.ru/cpp-beginners/thread979410.html
Прога по численным методам. Вычисляет Собственные значения и собственные вектора матрицы. Загвоздка в том что в матрице 3Х3 меняют два значения на отрицательные и прога выдает Inf. в чем дело??? Добавлено через 8 минут Прога по численным методам. Вычисляет Собственные значения и собственные вектора матрицы. Загвоздка в том что в матрице 3Х3 меняют два значения на отрицательные и прога выдает...
C++ Ошибка в цикле (Задание - см. вложение) Почему функция fill_array() возвращает неправильные значения? Когда ввожу 1 или 2 числа, выводит цифру 1; когда ввожу 3 числа - выводит 2. В чем ошибка? #include <iostream> #include <Windows.h> using namespace std; #define rus setlocale(0,"rus");SetConsoleCP(1251);SetConsoleOutputCP(1251); http://www.cyberforum.ru/cpp-beginners/thread979409.html
Кольцевой односвязный список на базе адресных указателей с использованием фиктивного элемента C++
В плюсах полный нуб. Что-то смог написать с помощью разных интернет ресурсов.. Это даже работает так как нужно. НО еще нужно написать итератор, с ним возникли большие проблемы. итератор для доступа к значениям в списке с основными операциями: – установка на первое значение в списке, – переход к следующему значению в списке, – проверка состояния итератора, – доступ по чтению и...
генерация случайных чисел C++
Написать программу, которая должна обеспечить исчисление количества повторений заданного числа по модулю 100. Характеристика должна быть исчислена 10 раз подряд и каждый результат следует вывести на консоль. Длину последовательности случайных чисел должен задавать пользователь. Напишите хоть по пунктам как делать?
C++ Односвязный кольцевой список 64-битовых строк http://www.cyberforum.ru/cpp-beginners/thread979397.html
Довольно долго мучаюсь с этим заданием: Вид списка: односвязный кольцевой список Элемент списка: 64-битовая строка. Строка должна быть представлена в виде двух полей unsigned long. Операции над списком: — вставка элемента в начало\конец списка — получение значения элемента по индексу — удаление элемента по индексу — очистка всех элементов списка — подсчет количества...
C++ Ввести три числа. Если они могут быть длинами сторон равнобедренного треугольника, вычислить длины его высот. Вывести длину основания и длины высот в помогите решить: Ввести три числа. Если они могут быть длинами сторон равнобедренного треугольника, вычислить длины его высот. Вывести длину основания и длины высот в порядке возрастания. подробнее

Показать сообщение отдельно
wsa
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
16.10.2013, 21:34     односвязный список. нахождение суммы
//Дан список из n целых неотрицательных чисел а1, а2,..,an. Найти: a1-a2+..+(-)an ?
C++ (Qt)
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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
 
using namespace std;
 
struct TList {
    int Info;
    TList *Next;
};
 
 
//Создание односвязного списка с одним сторожем
void MakeList (TList *Head, int n) {
    if (n>0){
        srand (time(NULL));
        *Head = new TList;
        Head-> Info = rand () % 10;
 
        TList p,q;
        p = *Head;
        while (n>1) {
            n--;
            q = new TList;
            q -> Info = rand() % 10;
            p -> Next = q;
            p = q;
        }
    }
}
 
// Вывод списка на экран
void PrintList (TList List) {
    cout << "список:";
    while (List != NULL) {
        cout << List -> Info << " ";
        List = List -> Next;
    }
    cout << "\n";
}
 
//Функция находит сумму
int SumList (TList List) 
{
    TList p;
float s = 0; int i=0;
    while (p != NULL)
        {
            if ((i%2)!= 0){
                s +=p->Info;}
            else
            {
                s = s - p->Info;
            }
    }
    p = p->Next;
    return s;
}
 
int main () {
    setlocale (LC_ALL, "Russian"); //поддержка русского языка
    TList List;
     int n;
     cout << "Введите количество элементов в списке n =";
     cin >> n;
     MakeList (&List, n);
     PrintList(List);
     cout <<"сумма =" << SumList (List)<< "\n";
     getch();
     return 0;
}
в чем моя ошибка? Почему не работает? Переводила на с++ с pascal.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru