Консультация № 188551
25.12.2015, 15:42
0.00 руб.
0 2 1
Здравствуйте, уважаемые эксперты! Прошу помочь написать программу на языке С. Задание: Найти сумму всех элементов массива до первого нуля и его номер.
Заранее спасибо!

Обсуждение

давно
Посетитель
7438
7205
25.12.2015, 18:20
общий
это ответ
Здравствуйте, Посетитель - 399128!
Держите программу
[code h=200]
/*
Найти сумму всех элементов массива до первого нуля и его номер.
*/

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <malloc.h> //для выделения памяти в куче
#include <time.h> //для инициализации герератора псевдослучайных чисел

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

int i,j,n;

printf("Введите количество элементов в массиве: ");
scanf("%d",&n);

srand(time(NULL)); //инициализация генератора псевдослучайных чисел

int *A; //Т.к. n заранее неизвестны, будем строить массив динамически
A = (int*)malloc(n*sizeof(int*));

//заполним матрицу случайными числами
for(i=0;i<n;i++)
{
A[i]=(rand()%10); //получим числа в диапазоне [0,9]
printf("%3d ",A[i]); //выведем элементы в одной строке
}
printf("\n");

int sum=0;
for(i=0; i<n; i++)
{
if (A[i] == 0) //считаем до первого нуля
break;
sum += A[i];
}

printf("\nРезультат:\n"); //выводим, что у нас получилось
if (i == 0)
printf("A[0] == 0\n"); //0 оказался первым
else if (i == n)
printf("Sum = %d\n", sum); //ни одного нуля
else
printf("Sum = %d, A[%d]=0\n", sum, i);

system("pause");

free (A); //освободим память, запрошенную под массив
return 0;
}
[/code]
5
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
399128
17
25.12.2015, 18:53
общий
Адресаты:
Спасибо большое. Не поможете составить алгоритм по этой программе?
Форма ответа