|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.11.2012, 09:28 | #1 |
Новичок
Джуниор
Регистрация: 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; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция на Си, как именно она работает | Алексей Денисов | Помощь студентам | 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 |