Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Lyuthe
0 / 0 / 0
Регистрация: 07.10.2016
Сообщений: 52
1

Если ввести длину массива >6 программа вылетает

02.11.2016, 15:59. Просмотров 258. Ответов 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <stdio.h>
#include <locale.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
void delet(int m[], int N)
{
    int a[N], i, j, max;
    max=m[0];
    j=0;
    printf("\n Исходный массив: ");
    
    for (i=0; i<N; i++)
    {
        printf("%4d", m[i]);
        
    }
    
    for (i=0; i<N; i++)
    {
        
    if (m[i]>max) (max=m[i]);
    
    }  
    
    for(i=0; i<N; i++)
    {
        if (m[i]!=max)
        {
            a[j]=m[i];
            j++;
 
        }
    }
    
    printf("\nПолученный массив: ");
    for (i=0; i<j; i++)
    printf("%4d", a[i]);
    return;
}
 
int main()
{
    setlocale(LC_ALL, "Rus");
    int N;
    int m[N];
    printf("\n Введите количество элементов массива: ");
    scanf("%d", &N);
    
    printf("Исходный массив \n");  
    for ( int i= 0; i<N; i++)
    {
        m[i] = rand()%100;
        printf("%4d ", m[i]); 
    }
    
    delet(m,N);
    
 
}
Программа должна создать массив, в котором элементы исходного до максимального. Исходный массив -- вводится размер с клавиатуры, значения генерируются случайно. Но если вводить размер больше 6, то ошибка, программма вылетает. Что я делаю не так?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2016, 15:59
Ответы с готовыми решениями:

Если инициализировать переменную, то программа вылетает
Если не инициализировать a, то программа не вылетает и печатает введённую строку. #include...

В случайном массиве, если ввести элемент для поиска, которого нет, то вылетает ошибка
В случайном массиве, если ввести элемент для поиска, которого нету, то вылетает ошибка. Если...

Ввести строку символов. Определить длину введенной строки L, и если длина L кратна 3, то удаляются все символы, стоящие на местах с номером кратным 3
!!!!!

Ввести два числа. Ввести число n. Найти минимум ,если n=1. Максимум,если n=2
Даны два числа.Ввести целое число n. Если n=1,то найти минимум этих двух чисел. Если n=2, то найти...

Программа работает, если ввести дробное число
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; void main() { float V,T,P,A,L;...

2
LFC
730 / 535 / 416
Регистрация: 17.09.2015
Сообщений: 1,598
02.11.2016, 16:09 2
Цитата Сообщение от Lyuthe Посмотреть сообщение
Что я делаю не так?
массив объявлен раньше чем стала известна его длина.Поведение неопределено.
1
Lyuthe
0 / 0 / 0
Регистрация: 07.10.2016
Сообщений: 52
02.11.2016, 16:19  [ТС] 3
какая глупая ошибка, спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2016, 16:19

Нужно ввести в элементы массива 0, если пиксель белый, или 1 ,если пиксель чёрный
Есть чёрно белая картинка 3x5. Нужно ввести в элементы массива 0, если пиксель белый, или 1 ,если...

Вылетает программа при заполнении массива
Добрый день. Решил написать простой код отрисовки карты в консоли. Идея: 1.Создаю объект...

Вывод случайного массива, вылетает программа
Программа генерирует случайный двумерный массив, выводит его в файл, потом читает и выводит на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru