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

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

Войти
Регистрация
Восстановить пароль
 
sp.caster
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 25
#1

Сумма целых чисел - C++

04.05.2011, 23:14. Просмотров 836. Ответов 12
Метки нет (Все метки)

Есть некоторый набор целых чисел, нужно посчитать сумму.

Формат входного файла:
N1 – первое число

Nn – последнее число

Формат выходного файла:
S – одно целое число, являющееся суммой входных чисел.

Примечание:
все входные числа и результат помещаются в 32-х разрядном знаковом целом числе.

Пример:

test.in
1
5
4

test.out
10

Моя программа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>;
 
int main()
{
    int sum=0, i;
    char *mas = new char[i];
    freopen("test.in","r",stdin);
    freopen("test.out","w",stdout);
    scanf("%s",&mas[i]);
    for (mas[1]; mas[i],i++);
    sum=sum+mas[i];
    printf(sum);
}
Проблема: error C2143: syntax error: missing ';' before ')'
на строке for (mas[1]; mas[i],i++);

Помогите разобраться пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2011, 23:14     Сумма целых чисел
Посмотрите здесь:

C++ Найти среди всех трёхзначных целых чисел те, у которых сумма цифр равна N
(CИ)Из массива целых чисел X(N) удалить элементы, сумма цифр которых меньше 4. C++
Найти количество первых целых положительных чисел, сумма которых не превышает S C++
C++ Дано число A (>1). Вывести найбольшее из целых чисел К, для которых сумма 1+1/2
C++ Сумма N целых положительных чисел
C++ Найти количество первых целых положительных чисел, сумма которых не превышает S. Значение S вводить с клавиатуры
Сумма и произведение целых чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт С++
1017 / 796 / 48
Регистрация: 30.04.2011
Сообщений: 1,620
04.05.2011, 23:19     Сумма целых чисел #2
Прочитайте в книге, как писать for
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
04.05.2011, 23:20     Сумма целых чисел #3
проверьте правильность написания цикла, у вас там стоит ;
sp.caster
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 25
04.05.2011, 23:23  [ТС]     Сумма целых чисел #4
ValeryLaptev прекрасный совет, извольте, читал.

panicwassano ";" в конце строчки с for? Убирал, ничего не случилось примечательного, та же ошибка
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
04.05.2011, 23:25     Сумма целых чисел #5
Цитата Сообщение от sp.caster Посмотреть сообщение
ValeryLaptev прекрасный совет, извольте, читал.

panicwassano ";" в конце строчки с for? Убирал, ничего не случилось примечательного, та же ошибка
не читали. ; означает конец оператора, в цикле for параметры перечисляются через запятую. Компилятор вам пишет какая ошибка и где
sp.caster
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 25
04.05.2011, 23:29  [ТС]     Сумма целых чисел #6
А, извиняюсь, честно даже не заметил ";" , хотя минут 5 напряженно вглядывался в эти строки=) Только вот ни к чему хорошему это не привело, при компиляции пишет ту же ошибку, только теперь два раза и на том же самом месте
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
04.05.2011, 23:32     Сумма целых чисел #7
прочтите внимательнее, у вас цикл for ничего не делает, т.к. после него стоит ;
а далее уже вне цикла вы пытаетесь вычислить сумму!!!
помимо этого переменная i не инициализирована, далее идет попытка выделения памяти не инициализированной переменной
массивы начинаются с 0, а не с 1
sp.caster
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 25
04.05.2011, 23:36  [ТС]     Сумма целых чисел #8
да ну убрал я там и там эту ; (в условии цикла и после него), после этого то эти две ошибки и вылазят


что значит i не инициализирована? и как ее инициализировать?
ValeryLaptev
Эксперт С++
1017 / 796 / 48
Регистрация: 30.04.2011
Сообщений: 1,620
04.05.2011, 23:50     Сумма целых чисел #9
Цитата Сообщение от sp.caster Посмотреть сообщение
ValeryLaptev прекрасный совет, извольте, читал.
Значит, плохо читал!
C++
1
2
3
4
5
6
7
8
9
10
11
12
1. #include <iostream>;
2.int main()
3.{
4.        int sum=0, i;
5.        char *mas = new char[i];
6.        freopen("test.in","r",stdin);
7.        freopen("test.out","w",stdout);
8.        scanf("%s",&mas[i]);
9.        for (mas[1]; mas[i],i++);
10.    sum=sum+mas[i];
11.        printf(sum);
12.}
1 - Чему равно i в строках 5 и 8?
2 - for(int i = 0; i < ??? ++i) - вот так пишется for
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
05.05.2011, 00:06     Сумма целых чисел #10
И еще, если выделяете память под символьный массив
C++
1
char *mas = new char[i];
то по-хорошему, лучше освободить память после всех действий
C++
1
delete []mas;
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
05.05.2011, 00:08     Сумма целых чисел #11
ерунда какая-то...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main(void){
  FILE * f;
  int i, sum;
 
  if ( ( f = fopen("numbers.txt", "r") ) == NULL ){
    fprintf(stderr, "Can't open input file!\n");
    return 1;
  }
 
  for ( sum = 0; fscanf(f, "%d", &i) == 1; sum += i )
    ;
 
  fclose(f);
  printf ("SUM: %d\n", sum);
 
  return 0;
}
sp.caster
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 25
05.05.2011, 08:33  [ТС]     Сумма целых чисел #12
easybudda ваш код выводит буквы d только, причем сколько циферок в test.out, столько букавок d пишет в test.out

Добавлено через 2 часа 19 минут
Цитата Сообщение от panicwassano Посмотреть сообщение
не читали. ; означает конец оператора, в цикле for параметры перечисляются через запятую. Компилятор вам пишет какая ошибка и где
Однако ошибаетесь, через точку с запятой параметры перечисляются
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 10:09     Сумма целых чисел
Еще ссылки по теме:

C++ Вывод N целых чисел, сумма которых равна 0
C++ Вычислите сумму целых чисел, вводимых с клавиатуры , пока сумма не станет больше 100
C++ Вывести наименьшее из целых чисел К, для которых сумма будет больше A
Сумма всех целых чисел, лежащих между этими двумя числами C++
C++ Данное целое число N (> 1). Вывести наибольшее из целых чисел К, для которых сумма 1 + 2 + . + К будет меньш

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
05.05.2011, 10:09     Сумма целых чисел #13
Цитата Сообщение от sp.caster Посмотреть сообщение
easybudda ваш код выводит буквы d только, причем сколько циферок в test.out, столько букавок d пишет в test.out
чево?!

Сумма целых чисел
Yandex
Объявления
05.05.2011, 10:09     Сумма целых чисел
Ответ Создать тему
Опции темы

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