Найти сумму элементов массива - C (СИ) (73281)
Формулировка задачи:
Здравствуйте! Помогите, пожалуйста, найти знакопеременную сумму всех элементов массива (A0-A1+A2-A3+...) и вывести результат на экран. Размерность массива 15. Массив я объявил. Дополните, пожалуйста мою программу, чтобы найти эту сумму. Если можно, то покажите, пожалуйста, как можно заполнить этот массив случайными числами с помощью команды rand. Заранее благодарен.
#include "stdafx.h"
#include <stdlib.h>
#include <clocale>
using namespace std;
#include <stdio.h>
#define N 15 // Определение константы
void main(void)
{
setlocale(LC_CTYPE, "rus");
int A[N]; // Объявление массива размера N
int i;
printf("Введите массив из %d чисел:\n", N);
// Заполнение массива
for (i = 0; i<N; i++)
{
printf("A[%d]=", i);
scanf_s("%d", &A[i]);
}
printf("Введеный массив:\n");
// Вывод массива
for (i = 0; i<N; i++)
printf("A[%d]=%d\n", i, A[i]);
}Решение задачи: «Найти сумму элементов массива»
textual
Листинг программы
#pragma hdrstop
#pragma argsused
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{ SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int A[15]; // Объявление массива размера N
int i,sum=0;
printf("Введите массив A:\t");
for (i = 0; i < 15; i++) {
printf("A[%d]", i);
scanf ("%i", &A[i]) ;
}
for (i = 0; i < 15; i++) { //Вот тут и начинает подсчитывать сумму всех элементов.
sum += A[i];
}
printf("Сумма элементов = %d", sum);
getch();
return 0;
}
Объяснение кода листинга программы
- #pragma hdrstop - Эта инструкция компилятору говорит о том, что все следующие инструкции должны быть сконвертированы в машинный код.
- #pragma argsused - Эта инструкция говорит компилятору, что он может игнорировать любые дополнительные аргументы командной строки.
- #include
- Эта инструкция включает в программу библиотеку, которая содержит функции для работы с текстом на разных языках. - #include
- Эта инструкция включает в программу библиотеку, которая содержит функции для ввода и вывода данных. - #include
- Эта инструкция включает в программу библиотеку, которая содержит функции для работы с памятью и математическими операциями. - #include
- Эта инструкция включает в программу библиотеку, которая содержит функции для работы с клавиатурой и мышью. - #include
- Эта инструкция включает в программу библиотеку, которая содержит функции для работы с Windows API. - В этом коде переменная argc содержит количество аргументов командной строки, а переменная argv[] содержит сами аргументы.
- SetConsoleOutputCP(1251) - Эта функция устанавливает кодировку вывода консоли на 1251 (кириллица).
- SetConsoleCP(1251) - Эта функция устанавливает кодировку ввода консоли на 1251 (кириллица).
- Переменная A[15] объявляет массив целых чисел размером 15.
- Переменная i используется как счетчик для цикла.
- Переменная sum используется для хранения суммы элементов массива.
- Строка
Введите массив A:\tвыводит сообщение, которое предлагает пользователю ввести массив A. - Цикл for используется для прохода по всем элементам массива.
- В каждой итерации цикла, программа выводит сообщение
A[%d], чтобы указать, какой элемент массива нужно ввести, а затем считывает этот элемент с помощью функции scanf (%i, &A[i]). - Цикл for используется для прохода по всем элементам массива и добавления их к переменной sum с помощью оператора +=.
- Функция printf(
Сумма элементов = %d, sum) выводит сообщение со значением суммы элементов массива. - getch() - Эта функция приостанавливает выполнение программы и ожидает нажатия клавиши.
- return 0; - Эта инструкция говорит компилятору, что программа успешно завершилась.