Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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


Ответ
 
Опции темы
Старый 13.12.2008, 21:42   #1
Grizzzli
 
Регистрация: 13.12.2008
Сообщений: 9
По умолчанию Помогите исправить код

Уважаемые программисты, очень срочно надо исправить код, но я не пойму почему он неправельно работает.
Вот задание
Найти наибольшую последовательность в массиве, и вывести ее произведение.(под последовательностью подразумевается одинаковые числа, например 123455555567696, 555555- это последовательность)
Код выводит наибольшую последовательность, но когда надо подсчитать произведение, он выводит какой-то бред. помогите исправить
Заранее спасибо
Код:
#include<stdio.h>
#include<conio.h>
#include <conio.h>
#define N 50
main()
{
    int a[N];
    int i,k,n,sum=1,r,max,m;
    int    pro=1;
    printf("Input the dimension of array\n");
    scanf("%d",&n);
    printf("elements of array\n");
    for (i=0;i<n;i++)
    {
        printf("a[%d]=",i+1);
        scanf("%d",&r);
        a[i]=r;
    }

    for(i=0;i<n;i++)
    {    
        if (a[i]==a[i+1]){
            sum++;
            k=sum;}
        if (a[i]!=a[i+1]){
            sum=1;
        }    
            if (i == 1){
            max = sum;
            m=1;}
        else if (sum >max){
            max = sum;
            m=i;}
        
    }

    
    for(i=m;i<n;i++){
        pro*=a[i];}

    printf("%d\n",max);
    printf("%d",pro);
    return 0;
    getch();
}
Grizzzli вне форума Ответить с цитированием
Старый 14.12.2008, 13:28   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,180
По умолчанию

for(i=m;i<n;i++){
printf("%d",pro);
pro*=a[i];}

Добавь выделенную строку и узнай в чем дело
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 14.12.2008, 13:50   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Помоему у тебя m неверно считается.
поменяй стратегию
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.12.2008, 19:26   #4
Grizzzli
 
Регистрация: 13.12.2008
Сообщений: 9
По умолчанию

каким образом поменять стратегию?
Grizzzli вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить код Tanuska___:) БД в Delphi 4 07.08.2008 16:40
Помогите исправить код student_63 Помощь студентам 5 13.12.2007 18:20
Задача на объекты. Исправить код. AVer Помощь студентам 1 21.01.2007 14:55


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS