Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.11.2011
Сообщений: 7
1

Вылетает задача на массив

17.11.2011, 23:17. Показов 674. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята,подскажите в чем ошибка, задача вылетает еще до первого принтфа. Может нельзя объвлять так a[i] ? Т.е. обязательно должно быть кол-во элементов массива задано изначально?
Нужно найти среднее арифмитическое ненулевых элементов. Прошу прощения,если глупый вопрос, подскажите, где исправить только. Код:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
int main()
{
setlocale(0,"");
int i,a[i],n,m=0;
float k=0;
printf("Введите кол-во элементов массива n: ");
scanf("%d",&n);
printf("Введите элементы массива: ");
for(i=0;i<n-1;i++)
{
scanf("%d",&a[i]);
if(a[i]!=0)
{
m=m+a[i];
k++;
}
} 
 
printf("среднее арифмитическое элементов массива: %.2f\n",m/k);
system("PAUSE"); 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2011, 23:17
Ответы с готовыми решениями:

Динамический массив вылетает
Доброго времени суток! Есть вот такой код для приложения Windows Form: Глобальные переменные:...

Массив символов - вылетает программа
Код программы: #include &lt;iostream&gt; using namespace std; int main() { ...

Двумерный динамический массив вылетает в функции
Вот программа,функции выполняют заполнение и вывод. Суть в том,что,если создать массив с числом...

Нужно отсортировать массив методом CompareTo, но вылетает ошибка
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

3
2 / 2 / 2
Регистрация: 31.07.2011
Сообщений: 143
17.11.2011, 23:37 2
Так попробуй.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <iostream>
#include <locale>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Rus");
    
    int i,n,m=0;
    float k=0;
 
    cout << "Введите кол-во элементов массива n: ";
    cin >> n;
    int*a=new int[n];
    
    for (i=0;i<n;i++){
    cout << "Введи a[" << i << "]: ";
    cin >> a[i];
    if (a[i])
        m+=a[i];
        k++;
    }
    
    printf("среднее:%.2f\n",m/k);
    delete(a);
    system("PAUSE"); 
    return 0;
}
0
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
17.11.2011, 23:39 3
Ну, количество выделенных элементов массива задается в момент объявления переменной. И не меняется.
Если нужно иметь массив неизвестной заранее длины, надо воспользоваться указателями.
1
0 / 0 / 0
Регистрация: 11.11.2011
Сообщений: 7
17.11.2011, 23:41  [ТС] 4
Спасибо большое!
0
17.11.2011, 23:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2011, 23:41
Помогаю со студенческими работами здесь

Хром не открывается, модем вылетает, везде просят капчу. И вылетает синий экран
В общем, хотела найти лечение на соседнем форуме...но мой вопрос проигнорили.:( Одна надежда на...

Отсортировать массив, записанный в файле, методом Шелла (программа вылетает)
Ребят, задача такая : написать прогу, которая отсортирует массив записанный в файле (первое число...

Динамический массив - после повторного нажатия на кнопку вылетает ошибка access violation
есть код type Tmater = record supplier : integer; mat : Integer; count :...

Почему не вылетает ошибка при выделении памяти под динамический массив, размером 100 Гб?
Здравствуйте, знатоки! Столкнулся с проблемой выделения памяти под динамические массивы. При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru