Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 09.09.2009, 18:32   #1
hungry
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 30
По умолчанию Завтра сдача экзамена

Завтра сдача экзамена, а программа не работает, не могу понять почему. Помогите пожалуйста разобраться.
Задание
Водится последовательность чисел,
0-конец последовательности.Подсчитать
сколько в ней отрицательных чисел,и
найти сумму положительных

Решение
Код:
#include <iostream.h>
#include <conio.h>
int main()
{
int pos[5];
int sum,i,otr,pol,n;
otr=0;
sum=0;
cout<<"Vvedite razmernost' posledovatel'nosti";
cin>>n;
cout<<"Vvedite posledovatel'nost', razmernost'yu "<<n<<" 4isel";
cin>>pos[i];
for (i=1;i<=n;i++)
{
}
cin>>pos[i];
if(pos[i]>0) sum=sum+pos[i];
cout<<"Summa polojitel'nih elementov", sum;
{
cin>>pos[i];									
if (pos[i]<0) otr=otr+1;
}
for (i=1;i<=n;i++)
{
cout<<endl;
}
cout<<endl<<" koli4estvo otricatel'nih elementov="<<otr;
getch ();
}
Он считывает с клавиатуры все, но не считает не количество отрицательных элементов, не сумму положительных.

Работаю на Borland C++ 3.11, в инсте та же программа. Просьба, если править ее, только под эту же прогу.

Последний раз редактировалось Sazary; 10.09.2009 в 02:02.
hungry вне форума
Старый 09.09.2009, 18:41   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,067
По умолчанию

Код:
#include <iostream.h>
#include <conio.h>
int main()
{
  int pos[5];
  int sum,i,otr,pol,n;
  otr=0;
  sum=0;
  cout<<"Vvedite razmernost' posledovatel'nosti";
  cin>>n;
  cout<<"Vvedite posledovatel'nost', razmernost'yu "<<n<<" 4isel";
  
  for (i=0;i<n;i++)
  {
    cin>>pos[i];
    if(pos[i]>0) sum=sum+pos[i];
    else if (pos[i] < 0) ++otr;
}
cout<<"Summa polojitel'nih elementov", sum;
cout<<endl<<" koli4estvo otricatel'nih elementov="<<otr;
getch ();
}
pu4koff вне форума
Старый 09.09.2009, 18:51   #3
hungry
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 30
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Код:
#include <iostream.h>
#include <conio.h>
int main()
{
  int pos[5];
  int sum,i,otr,pol,n;
  otr=0;
  sum=0;
  cout<<"Vvedite razmernost' posledovatel'nosti";
  cin>>n;
  cout<<"Vvedite posledovatel'nost', razmernost'yu "<<n<<" 4isel";
  
  for (i=0;i<n;i++)
  {
    cin>>pos[i];
    if(pos[i]>0) sum=sum+pos[i];
    else if (pos[i] < 0) ++otr;
}
cout<<"Summa polojitel'nih elementov"<< sum;
cout<<endl<<" koli4estvo otricatel'nih elementov="<<otr;
getch ();
}
Спасибо, нашел ошибку с суммой) косяк мой)

Последний раз редактировалось hungry; 09.09.2009 в 18:58.
hungry вне форума
Старый 09.09.2009, 18:58   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,067
По умолчанию

Цитата:
Сообщение от hungry Посмотреть сообщение
Спасибо, отрицательные стал считать, но сумму положительных он не считает.
Просто не выводится, т.к. там не запятая должна стоять, а <<. Хотя задача изначально решена неправильно в плане ввода.
Вообще правильнее будет так:
Код:
#include <iostream.h>
#include <conio.h>
int main()
{
  int num, sum,otr,pol;
  otr = 0;
  sum = 0;
  cout<<"Vvedite posledovatel'nost' 4isel";
  
  for (;;)
  {
    cin >> num;

    if (!num) break; // При вводе нуля завершаем бесконечный цикл

    if (num > 0) sum += num;
    else /*if (num < 0)*/ ++otr;
  }
  cout << "Summa polojitel'nih elementov" << sum << endl;
  cout << " koli4estvo otricatel'nih elementov=" << otr;
  getch ();
}
ЗЫ. Мог где-то опечататься, т.к. код писал здесь и не тестил.
pu4koff вне форума
Старый 09.09.2009, 19:02   #5
hungry
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 30
По умолчанию

Спасибо, нашел ошибку уже с суммой) косяк мой)

Собственно в продолжение темы)) в билете есть 2ой вопрос) Забыл при помощи чего считывать файлы txt в C++, команду(
Задание
Прочитать файл TWO и вывести его задом на перед.

Последний раз редактировалось hungry; 09.09.2009 в 19:05.
hungry вне форума
Старый 09.09.2009, 19:07   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,067
По умолчанию

Цитата:
Сообщение от hungry Посмотреть сообщение
Забыл при помощи чего считывать файлы txt в C++, команду(
либо класс ifstream, либо набор функций fopen, fread, fclose.
pu4koff вне форума
Старый 09.09.2009, 19:08   #7
hungry
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 30
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
либо класс ifstream, либо набор функций fopen, fread, fclose.
где-то я это прогулял(( блин. пойду читать, если поможешь с решением буду благодарен)
hungry вне форума
Старый 09.09.2009, 19:10   #8
hungry
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 30
По умолчанию

нашел тему, не прогулял ее) но забыл)) пойду попробую составить) через fp=fopen) как перевернуть не подскажешь?) Понимаю элементарно, но чего-то пока в голову ничего не лезет.
hungry вне форума
Старый 09.09.2009, 19:21   #9
hungry
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 30
По умолчанию

вот что напридумывал
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
file*fp1;
file*fp2;
if((fp1=fopen("TWO","w"))==NULL)
{
puts("Ne mogu otkrit' fail\n");
exit(1);
}
if((fp2=fopen("ONE","r"))=NULL)
{
puts("Ne mogu otkrit' fail\n");
exit(1);
}

Последний раз редактировалось Sazary; 10.09.2009 в 02:03.
hungry вне форума
Старый 09.09.2009, 19:24   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,067
По умолчанию

1. Для готовых решений есть ветка "Помощь студентам"
2. Согласно правилам на форуме: одна тема - один вопрос
3. Идея по реализации переворачивания есть на этой же странице чуть ниже в теме про реверс строк. Считывайте весь файл в массив и реверсируйте его по тому алгоритму. Не самый лучший вариант, но как ответ на билет пойдёт.
pu4koff вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите((( Завтра сдавать!!!(( ApXoH Паскаль, Turbo Pascal, PascalABC.NET 5 05.05.2009 23:35
ПОМОГИТЕ......ЗАВТРА ЭКЗАМЕН!!!!!! Allen Iverson Помощь студентам 0 23.04.2009 20:33
Завтра экзамен((( Foxandrey Паскаль, Turbo Pascal, PascalABC.NET 0 14.12.2008 12:00
Help (Составить запись, содержащую сведения о сдаче группой студентов экзамена) Forro Паскаль, Turbo Pascal, PascalABC.NET 2 08.01.2008 12:15
Помощь во время экзамена [Pascal] Crazy Macho Фриланс 4 05.01.2008 13:23