0 / 0 / 1
Регистрация: 30.03.2014
Сообщений: 68
1

Ввести массив целых чисел количество которых неизвестно

22.04.2014, 21:52. Показов 1670. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>
 
int _tmain(void)
{
    int *p = NULL;
    int i=0;
    int SrArph, X, m, z=0;
    
    printf("Vvedite ogranichenie  ");
    scanf_s("%d",&X);
    
    
    while ( p[i]!=0 )
    {
        p = (int*)realloc(p, sizeof(p) + sizeof(int));
 
        printf("\nVvedite chislo  ");
        scanf_s("%d",&m);
 
        p[i]=m;
        z=i;
        SrArph=( p[i]/(i+1) );
 
        if(SrArph==X)
        { break; }
                        
    
 
        i++;
    }
 
 
 
    for(int i=0; i<z; i++)
 
    {
        printf("%d",p[i]);
    
    }
 
    free(p);
 
    
    system("pause");
 
    return 0;
}
Нужно ввести массив целых чисел кол-во которых неизвестно. Признаком конца ввода является совпадение заранее заданного значения со средне арифметическим всех введённых чисел. Непонятно почему не компилируется...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2014, 21:52
Ответы с готовыми решениями:

Ввести массив целых чисел, количество которых заранее неизвестно
Ввести массив целых чисел, количество которых заранее неизвестно. Признаком окончания ввода массива...

Ввести массив целых чисел, количество элементов которого заранее неизвестно
Ввести массив целых чисел, количество элементов которого заранее неизвестно. Признаком конца ввода...

Ввести последовательность чисел, количество которых заранее неизвестно
Ввести последовательность чисел, количество которых заранее не известно. Признаком окончания ввода...

Ввести матрицу целых чисел, количество строк и столбцов которой заранее неизвестно. Ошибка в коде
И снова я..Уже четыре часа мучаюсь с заданием: Ввести матрицу целых чисел, количество строк и...

6
Эксперт функциональных языков программированияЭксперт Java
4487 / 2722 / 485
Регистрация: 28.04.2012
Сообщений: 8,593
23.04.2014, 07:57 2
И какую ошибку выдаёт при компиляции? У меня все работает: http://ideone.com/TFmIw2
0
0 / 0 / 1
Регистрация: 30.03.2014
Сообщений: 68
23.04.2014, 17:31  [ТС] 3
korvin_, У меня тоже компилируется всё ,но после строчки 18 он пишет ошибку и требует приостановить работу
0
Эксперт функциональных языков программированияЭксперт Java
4487 / 2722 / 485
Регистрация: 28.04.2012
Сообщений: 8,593
23.04.2014, 17:36 4
Цитата Сообщение от rivares1853 Посмотреть сообщение
но после строчки 18 он пишет ошибку и требует приостановить работу
Еще бы он ее не выдавал, ведь ты пытаешься разыменовать пустой указатель.
0
0 / 0 / 1
Регистрация: 30.03.2014
Сообщений: 68
24.04.2014, 00:23  [ТС] 5
korvin_, и как это исправить?
0
99 / 81 / 93
Регистрация: 03.12.2013
Сообщений: 217
24.04.2014, 01:24 6
Лучший ответ Сообщение было отмечено rivares1853 как решение

Решение

rivares1853, Вместо "while" сделал "do while",начало работать)Еще показалось,что поиск среднего арифмитического как-то не работает,немножко переделал под свой. И так все работает,вот только освободить память не выходит(закомментировал строчку с free и все норм).
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>
 
int main(void)
{
    int *p=NULL;
    int i=0,j;
    int SrArph, Summa=0, X, m, z=0;
    
    printf("Vvedite ogranichenie  ");
    scanf_s("%d",&X);
    
    
    do 
    {
        Summa = 0;
        p = (int*)realloc(p, sizeof(p) + sizeof(int));
 
        printf("\nVvedite chislo  ");
        scanf_s("%d",&m);
 
        p[i]=m;
        z=i;
        for(j=0;j<=i;j++)
        {
            Summa += p[j];
            SrArph = Summa / (i+1);
        }
 
        if(SrArph==X)
        { break; }
                        
    
 
        i++;
    }
    while ( p[i]!=0 );
 
 
    printf("Vvedonnoe:\n");
 
    for(int i=0; i<=z; i++)
 
    {
        printf("%d\n",p[i]);
    
    }
    
    
    //free(p);
 
    
    system("pause");
 
    return 0;
}
1
0 / 0 / 1
Регистрация: 30.03.2014
Сообщений: 68
24.04.2014, 01:30  [ТС] 7
Sacred6661, не я забыл что while может вообще ни разу не выполнится... и сумму забыл...
Одни косяки.... стыдно...
Спасибо большое=))
0
24.04.2014, 01:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2014, 01:30
Помогаю со студенческими работами здесь

Ввести массив строк, число которых заранее неизвестно, имея признаки ввода конца строки и самой матрицы
Ввести массив строк, число которых заранее неизвестно. Признаком конца ввода строки является ввод...

Ввести массив целых чисел, количество элементов которого заранее не известно
Ввести массив целых чисел, количество элементов которого заранее не известно. Признаком конца ввода...

Ввести с клавиатуры одномерный массив из 5 целых чисел, вывести количество ненулевых элементов
Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел, после чего...

Ввести последовательность чисел, количество которых заранее неизвестно
Ввести последовательность чисел, количество которых заранее не известно. Признаком окончания ввода...

Ввести массив из 14 целых чисел. Удалить из него элементы, значения которых находятся в диапазоне от 0 до 7
Ввести массив из 14 целых чисел. Удалить из него элементы, значения которых находятся в диапазоне...

Сложение чисел, количество которых неизвестно заранее
Задача состоит в том, что нужно сложить несколько восьмизначных чисел. Сначала пользователь должен...


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

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

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