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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 11:43   #1
nark25
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 11
По умолчанию Не считает сумму между нулями

Я новичок в программирований, не судите строго программирую в Borland C++
Задача такая : В одномерном массиве вычислить сумму элементов стояших между нулевыми элементами
Пример: 0 5 3 2 0 2 0 0 3 1
Результат: сумма равна 12
Первая моя попытка
Код:
# include<iostream.h>
# include<math.h>
#include<stdlib.h>
int *a,i,s,y,k,*b,n;
void main()
{
randomize();
cout<<" vvedite n \n"<<"n=";
cin>>n;
for (i=0;i<n;i++)
{*(a+i)=random(3);
 cout<<*(a+i)<<" ";}
while(i<n)
 {
  if (*(a+i)==0)
   {i++;
     while (*(a+i)!=0)
      {
      s=s+*(a+i);
	 i++;
      }
   }
else { i++;}
 }
 cout <<endl;
 cout<<s;
 }
Вторая попытка
Код:
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
int i,t1,n,t2,k; float *a,s=0;
void main ()
{
a=(float*) malloc (n*sizeof(float));
cout<<"vvedite n \n"<<"n=";
 cin>>n;
randomize();
for(i=0;i<n;i++)
{*(a+i)=random(3);
cout<<*(a+i)<<" "; }
cout<<endl;
 for(i=0;i<n;i++)
 {
  if(*(a+i)==0)
  {
  while(*(a+i)>0 && *(a+i)<0)
  {s=s+*(a+i);i++; } }}
 cout<<"cymma=" <<s<<endl;
  }

Последний раз редактировалось nark25; 19.04.2009 в 14:20.
nark25 вне форума Ответить с цитированием
Старый 19.04.2009, 13:34   #2
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

То есть только эти сложить?
Цитата:
0 5 3 2 0 2 0 0 3 1
PS. используй тєг [C0DE][/C0DE]
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 19.04.2009, 14:07   #3
nark25
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 11
По умолчанию

да только эти
nark25 вне форума Ответить с цитированием
Старый 19.04.2009, 15:19   #4
Mikola-TEAM
Пользователь
 
Регистрация: 31.05.2008
Сообщений: 34
По умолчанию

Код:
#include <iostream>

using namespace std;

int main()
{
	int massiv[10]={0, 5, 3, 2, 0, 2, 0, 0, 3, 1};
	int i,temp=0,summa=0;
	bool add_to_temp=false;
	for (i=0; i<10; i++)
	{
		if (add_to_temp==false)
			if (massiv[i]==0)
			{
				add_to_temp=true;
				continue;
			}
		if (add_to_temp==true) temp=temp+massiv[i];
		if (add_to_temp==true && massiv[i]==0)
		{
			summa=summa+temp;
			temp=0;
		}
	}
	cout << summa << endl;

	system("pause");
	return 0;
}
Mikola-TEAM вне форума Ответить с цитированием
Старый 19.04.2009, 15:32   #5
nark25
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 11
По умолчанию

мне бы попроше и с указателями, что то подобное что у меня написано, с условием проблемы у меня
nark25 вне форума Ответить с цитированием
Старый 19.04.2009, 15:32   #6
nark25
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 11
По умолчанию

и массив рандомно заполняется
nark25 вне форума Ответить с цитированием
Старый 19.04.2009, 19:02   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;

int main()
{
int n,i;
float *a,s=0,buf=0,t=0;
srand(time(NULL));
cout<<"vvedite n \n"<<"n=";
cin>>n;
a = new float[n];
for(i=0;i<n;i++)
 {
  *(a+i)=rand()%3;
  cout<<*(a+i)<<" ";
 }
cout<<endl;
for(i=0; i<n;i++)
 {
  if(*(a+i)==0)
   {
    s += buf;
    buf = 0;
    t = 1;
   }
 if (t==1) buf += *(a+i);
 }

cout<<"s = "<<s<<endl;
delete[] a;
getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не правильно считает сумму чисел, которые находятся в файле. TheWanderer Общие вопросы C/C++ 6 17.04.2009 18:43
Удаление строк с нулями Sensy Microsoft Office Excel 3 27.02.2009 15:42
Нужно чтобы в матрице находило максимальный элимент и справо от него вставляло колонку с нулями в столбик Romer9999 Паскаль, Turbo Pascal, PascalABC.NET 3 03.12.2008 08:46
EXCEl не правильно считает формулу beliy-dis Microsoft Office Excel 5 30.07.2008 14:18
Не считает количество символов DeeCee Общие вопросы Delphi 11 24.12.2007 22:57