Форум программистов, компьютерный форум CyberForum.ru

Одномерные массивы + указатели (среднее арифметическое чисел, введенных с клавиатуры) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа не работает как надо. Задача: Вывести сумму всех элементов массива, кратных данному числу К (вводится с клавиатуры) http://www.cyberforum.ru/cpp-beginners/thread1090142.html
Вот мой код. Суммарное число выводит слишком большее, а после завершения программы ошибку:"Run-Time Check Failure #2 - Stack around the variable 'numb' was corrupted." или подобную, только с другим массивом: "Run-Time Check Failure #2 - Stack around the variable 'mass' was corrupted." .С массивом mass еще проблемы есть.. #include <iostream> using namespace std; int main() { int K; cout <<...
C++ Запись в файл Ребята, когда я записываю в файл текст с помощью этого кода, то в файле получается первая строка пустая и только потом идет текст. Где у меня записывается эта пустая строка я не вижу :( #include <fstream> #include <iostream> #include <string> #include <stdexcept> std::string fileName; int main() http://www.cyberforum.ru/cpp-beginners/thread1090129.html
функция по выводу звезд на экран нн работает, в чем дело? C++
#include <iostream> #include <conio.h> void function (int k)// { for(int i=0;i<k;i++)
Символы в C++ C++
Пишу игру покер в консоли для закрепления знаний по ГСЧ и указателям, хочу чтобы выводилось обозначение пик и остальных мастей(символ взял с википедии(http://ru.wikipedia.org/wiki/Карточная_масть) справа в скобочках): char piki='♠'; Пишет необъявленный идентификатор. Вообщем понятно, что звучит извращенно,но может у вас есть другие варианты.. P.S. Да и символ неправильно выводится у вас на...
C++ Написать функцию kvadr с переменным числом параметров, которая определяет количество чисел, являющихся точными квадратами (2, 4, 9, 16,. . . ) типа in http://www.cyberforum.ru/cpp-beginners/thread1090113.html
Написать функцию kvadr с переменным числом параметров, которая определяет количество чисел, являющихся точными квадратами (2, 4, 9, 16,. . . ) типа int. Написать вызывающую функцию main, которая обращается к функции kvadr не менее трех раз с количеством параметров 3, 7, 11.
C++ Вычислить значение функции в заданном диапазоне Хай, форумчане. В общем нужна ваша помощь. Только начал изучать, решаю задания, но к этому не могу найти примера. Вычислить значение функции в заданном диапазоне. Осуществить вывод исходных данных и результат. Microsoft Visual C++ 6.0 Извините, если создал не в том разделе. подробнее

Показать сообщение отдельно
MessageToBears
9 / 9 / 1
Регистрация: 05.12.2013
Сообщений: 65
05.02.2014, 18:39     Одномерные массивы + указатели (среднее арифметическое чисел, введенных с клавиатуры)
День добрый. В общем не получается у меня запустить эту задачу с помощью указателей:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
int a[100],n,i; float b[100], k,p=0,s;
 
printf("Vvedite n= "); // начало заполнения массива
scanf("%d",&n);
for (i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf("%d",&a[i]);
} // конец заполнения массива
 
for (i=0;i<n;i++) {
p=p+a[i];
s=(p)/(i+1);
b[i]=s;
printf("b[%i]=%.2lf \n",i,b[i]);
}
getch();
}
Программа считает среднее арифметическое чисел, введеных с клавиатуры. Сначала считает среднее первых двух цифр, записывает в массив b, затем трех, и так далее.

Как реализовать программу с указателями? Вот то, что вышло у меня. Помогите найти ошибку:

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
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
 
int main()
{
    int *a,n,i;
    float *b, k,p=0,s;
 
    printf("Vvedite n= "); // начало заполнения массива
    scanf("%d",&n);
 
    a=(int*)malloc(n*sizeof(int));
    b=(float*)malloc(n*sizeof(float));
 
    for (i=0; i<n; i++)
    {
        printf("a[%d]= ",i);
        scanf("%d",a+i);
    } // конец заполнения массива
 
    for (i=0; i<n; i++)
    {
        p=p+*a;
        s=(p)/(i+1);
        *b=s;
        printf("b[%i]=%.2lf \n",i,*(b+i));
    }
    free(b);
    free(a);
    getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru