Тема: Написати програму, яка підраховує суму чисел, що вводить користувач, С

Допоможіть будь-ласка з програмою, вже два дня голову ломаю. Мова Сі. Я тільки почав вчити С, а в універ уже треба здавати програму( Код і завдання в спойлері.

Прихований текст
//Написати програму, яка підраховує суму чисел, що вводить користувач. 
//При введенні нуля або від'ємного числа програма завершує роботу та друкує отримане значення суми.
#include <stdio.h>
#include <math.h>
int main(void) {
    int x,y,z,a;

int num = 1000; // максимально-допустима кількість елементів масиву
int A[num]; // масив
int sum; // результат
int i; // додаткова змінна
sum = 0;
i = 0;
while (i<=0)
{
    printf("Введіть число:  ");
    scanf("%d", &A[i]);
    sum += A[i];
    i++;
}
printf("Результат: %d ", sum);
    return 0;
}

2

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

Виконайте її покроково - одразу помилку знайдете. Підказка - щось не так зі змінною i.

Подякували: maxim.kliakhin1

3

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

Можна будь-ласка конкретніше я не маю достатніх знань щоб закінчити цю програму(

4 Востаннє редагувалося wander (23.11.2019 18:18:15)

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

maxim.kliakhin написав:

Допоможіть будь-ласка з програмою, вже два дня голову ломаю. Мова Сі. Я тільки почав вчити С, а в універ уже треба здавати програму(

1. Так тре було починати зі всіма, у вересні, а не в сам кінець семестру.
2. Що означає "допоможіть", це натяг зробити за вас чи як? Чи є якась помилка?
3. За два дні вже можна було б загуглити та вкрасти чуже рішення, очевидно, що вам програмування не цікаве, нащо себе мучити?

maxim.kliakhin написав:

При введенні нуля або від'ємного числа програма завершує роботу (1) та друкує отримане значення суми (2).

Як ви це собі уявляєте?
Якщо програма завершила своє виконання, вона ну, ніяк не зможе вже нічого надрукувати.

maxim.kliakhin написав:

Можна будь-ласка конкретніше я не маю достатніх знань щоб закінчити цю програму(

Вивчити С за два дні, звісно, не можливо. Хоча це завдання можна вирішити прочитавши буквально кілька перших глав з книжки (той же K&R), навіть не доходячи до ф-й. Але все звісно залежить від вашого "бекграунду".

Подякували: maxim.kliakhin, leofun012

5

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

Насправді ніхто і не знає, як її зробити, тому так відповідають :D Ну і я ж, цілий вечір не потрачу на набирання коду в мобільному телефоні. Тому скажімо так не знаю.

Подякували: maxim.kliakhin1

6

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

#include <stdio.h>
int main()
{
   double a=0, b=0;
   while (a>=0)
   {
      if(b==0) {
      printf("first num: ");
      scanf("%d", b);
       }
   printf("next num: ");
   scanf("%d", a);
   b=b+a;
   printf("sum: %d\n", b);
   }
return 0;
}

Я новачок в програмуванні, як і ви. Вибачайте, якщо щось не так.

Подякували: maxim.kliakhin1

7

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

А, ну так. Вже помилився. Хі-ха. От що значить - писати в мобільному телефоні і на ніч.
треба виправити

while(a>0)

тобто виконувати цикл, поки "а" більше від 0 (тобто не 0 і не від'ємна).
А іще можна виправити

printf("first num: ");
scanf("%d", b);
while(a>0)

if() і 3 рядки після нього приберіть.
Так то наче Ізі, а воно не просто. На ніч глядя, особливо

Подякували: maxim.kliakhin1

8

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

Я не очікував, що так активно на таких форумах відповідають, щиро вдячний)

9

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

Плоблема в тому , що чисел для додавання має бути багато, допоки користувач не введе 0, або мінусове число. Я думав це реалізувати масивом - нічого не вишло, але я думаю можна якось його лаконічно в одному циклу зробити, незнаю тільки як(

10

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

go4rik написав:

А, ну так. Вже помилився. Хі-ха. От що значить - писати в мобільному телефоні і на ніч.
треба виправити

while(a>0)

тобто виконувати цикл, поки "а" більше від 0 (тобто не 0 і не від'ємна).
А іще можна виправити

printf("first num: ");
scanf("%d", b);
while(a>0)

if() і 3 рядки після нього приберіть.
Так то наче Ізі, а воно не просто. На ніч глядя, особливо

Я також думав що треба 2 числа додати) Дякую за допомогу, але завдання інше.

Прихований текст
#include <stdio.h>
#include <math.h>
int main(void) {
    int x,y,z,a;
    
    printf("Введiть 1 число:  ");
        scanf("%d", &x);
    printf("Введiть 2 число:  ");
        scanf("%d", &y);
    printf("Введiть 0, або від'ємне число:  ");
        scanf("%d", &a);
        while(a==0 || a<0)
        {
          z = x+y;
          printf("Результат: %d ", z);   
          break;
        }
    return 0;
}

11 Востаннє редагувалося wander (24.11.2019 00:01:57)

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

maxim.kliakhin написав:

Я також думав що треба 2 числа додати)

Навіщо? Відійдімо від С і повернемось у реальний світ та логічно подумаємо, як це можна зробити.
Отже, користувач вводить число, нам його потрібно отримати та просумувати з попереднім, якщо таке було.
Очевидно це можна зробити через цикл, де на кожній ітерації якого можна зчитувати число, та сумувати його, до цього ви і самі допетрали, це добре. Єдине що масив вам не потрібен, достатньо двох змінних одна саме число, інша слугуватиме накопичувачем суми. Тобто:

do:
    read(number)
    sum += number
while number > 0

Доволі просто чи не так? Загалом, можливо, цей псевдо-код все ще може виконуватись не так як очікується, при сумуванні від'ємних чисел, але я думаю ви вже самі зможете це виправити.

Подякували: Chemist-i, maxim.kliakhin2

12 Востаннє редагувалося ur_naz (24.11.2019 07:44:38)

Re: Написати програму, яка підраховує суму чисел, що вводить користувач, С

#include <stdio.h>

void main()
{
    int sum = 0, num;

    while (printf ("\nEnter num: ") && scanf("%d", &num)) {
        if (num < 1) break;
        sum += num;
    }
      
    printf ("Sum is %d", sum);
    
}
Подякували: maxim.kliakhin1