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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2012, 00:28   #1
Sk1lloK
Новичок
Джуниор
 
Регистрация: 22.12.2012
Сообщений: 4
Сообщение Неинициалированная локальная переменная

Ребята помогите! Только недавно начал учиться программировать на C++ и уже проблемы. Не могу понять что он от меня хочет.
Задание:
В одномерном массиве,состоящем из n вещественных элементов вычислить:
1. Произведение положительных элементов массива;
2.Сумму элементов массива, расположенных до минимального элемента.
Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.
Код:
#include <stdio.h>
#include <math.h>
#define n 6
int main(){
int a[n]={1,2,3,-4,5,-6};
int i,j,h,z=1,imin=0, min=a[0], sum=0;
for (i=0;i<n;i++)
if (a[i]>0)
z*=a[i];
printf("proizvedenie %d\n",z);

for(i=0;i<n;i++)
if (a[i]<min)
{min=a[i];
imin=i;}
printf("min element %d\n", imin);

for(i=0; i<imin; i++)
sum+=a[i];
printf("Cymma elementoB %d\n",sum);

int chet[n/2];
int nechet[(n/2)+1];
for (i=0;i<n;i++)
if (i%2==0)
{nechet[j++]=a[i];
nechet[j]=a[i];
printf("nechet mesta %d\n", nechet[j]);}
else {
chet[h++]=a[i];
chet[h]=a[i];
printf("chet mesta %d\n", chet[h]);}

return 0;
}
Помогите пожалуйста с задачей.В долгу не останусь =)



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.12.2012 в 01:05.
Sk1lloK вне форума Ответить с цитированием
Старый 23.12.2012, 00:53   #2
Sk1lloK
Новичок
Джуниор
 
Регистрация: 22.12.2012
Сообщений: 4
По умолчанию

Скорее всего тему создал не в том разделе. Заранее извиняюсь перед модераторами.
Sk1lloK вне форума Ответить с цитированием
Старый 23.12.2012, 01:09   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

думаю, что ошибка вот здесь:
Цитата:
Код:
for (i=0;i<n;i++)
if (i%2==0)
{nechet[j++]=a[i];
Вы забыли присвоить начальное значение переменной j, о чём Вас компилятор и уведомляет.

достаточно либо при объявлении переменной написать j=0
либо перед началом цикла сделать j=0;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.12.2012, 01:31   #4
Sk1lloK
Новичок
Джуниор
 
Регистрация: 22.12.2012
Сообщений: 4
По умолчанию

Спасибо огромное!
Но тут новая беда: по сути дела неправильно находит минимальный элемент
Sk1lloK вне форума Ответить с цитированием
Старый 23.12.2012, 11:52   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
неправильно находит минимальный элемент
Код:
for(imin=0,i=1;i<n;i++) imin=(a[i]<a[imin])?i:imin;
printf("min element %d\n", imin);
Так лучше?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.12.2012, 13:34   #6
Sk1lloK
Новичок
Джуниор
 
Регистрация: 22.12.2012
Сообщений: 4
По умолчанию

Всеравно не так считает =(
Sk1lloK вне форума Ответить с цитированием
Старый 25.12.2012, 22:36   #7
denrubun
Пользователь
 
Регистрация: 24.12.2012
Сообщений: 82
По умолчанию

Код:
int min = a[0];
for(i=1; i<n; i++)
  if(a[i] < min)
    min = a[i];
denrubun вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Vusial C# и локальная БД Дротаверин Помощь студентам 0 24.06.2012 17:22
Локальная сеть ImmortalAlexSan Работа с сетью в Delphi 3 08.05.2010 16:52
Локальная сеть StudentPolitech Свободное общение 1 08.07.2009 23:45
Локальная сеть Яр|/||< (^_^) Операционные системы общие вопросы 1 01.07.2009 22:18
Локальная сеть... Naruto. Безопасность, Шифрование 7 08.04.2009 13:14