Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2012, 09:28   #1
bacsa
Новичок
Джуниор
 
Регистрация: 30.11.2012
Сообщений: 1
По умолчанию Задача в С,а как переделать её в С++ и правильно она работает,

В одномерном динамическом массиве, состоящем из целых чисел, вычислить:
1. произведение элементов массива с четными номерами;
2. сумму элементов массива, расположенных между первым и последним нулевыми элементами.
Элементы массива задать генератором случайных чисел в диапазоне (0…50).
Запросить с клавиатуры размер массива, вывести на монитор исходный
массив в виде матрицы по 15 элементов в строке. Вывести на монитор
параметры из пунктов 1 и 2.

*/

#include <iostream>
#include <stdlib.h>
#include <time.h> // Для srand()
#include <stdio.h>

using namespace std;

int main()
{
// ==================================
// Блок переменных
int n, i, j, dmin=0, dmax=50, str=0, strmax=15, pause, rcol, first=-1, last=-1, sum=0;
unsigned long int pr=1;
// ==================================
setlocale(0, "Rus"); // переключение локали

cout<<"Количество элементов в массиве: ";
cin>>n; int A[n];
// ==================================
// Формирование массива
rcol=dmax-dmin+1; // количество элементов для rand()
srand(time(NULL)); // сброс ГСЧ
cout<<"\n Исходный массив: \n\n";
for(i=0; i<n; i++)
{
A[i]=rand() % rcol + dmin;
if((i+1)%2==0){pr*=A[i];} // Произведение элементов с чётными номерами
// вывод массива размером 15х1
printf("%2d ", A[i]);
str++; // i-ая строка массива
if(str==strmax){cout<<"\n"; str=0;}

// Сумма элементов массива, расположенных между
// первым и последним нулевыми элементами.
if(first==-1){if(A[i]==0){first=i;}} //Первый нулевой элемент
else{if(A[i]==0){last=i;}} // Последний нулевой элемент
}
// ==================================
cout<<"\n\n Произведение элементов массива с четными номерами: "<<pr<<"\n";
// Сумма
if(first==-1)
{
sum=0;
} else {
if(last==-1)
{
sum=0;
} else {
for(j=first; j<last; j++)
{
sum+=A[j];
}
cout<<"\n Индекс первого нулевого элемента: "<<first;
cout<<"\n Индекс последнего нулевого элемента: "<<last;
}
}
cout<<"\n\n Сумма элементов массива, расположенных между первым и последним нулевыми элементами: "<<sum<<"\n";
cin>>pause;
}
bacsa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция на Си, как именно она работает Алексей Денисов Помощь студентам 3 13.11.2011 20:16
skyline в делфи, я не понимаю как она работает nastyaa Общие вопросы Delphi 4 08.09.2011 01:17
Обьясните програмку как она работает в Delphi Razdolbam Помощь студентам 1 31.01.2011 18:33
Книга Excel c макросом VBA работает только на моем компе, на других она считает не правильно...почемуууу? Lays Microsoft Office Excel 8 13.12.2010 11:29
не могу разобраться в программе, как она работает SK-Mentos Общие вопросы C/C++ 3 25.11.2010 15:11