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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 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,526
По умолчанию

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,097
По умолчанию

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

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


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



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