Форум программистов, компьютерный форум, киберфорум
Наши страницы

Перевод из Pascal. Одномерный массив (сумма, произведение) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ передача файла в функцию http://www.cyberforum.ru/cpp-beginners/thread144100.html
#include <fstream> #include <iostream> //#include<clocale> using namespace std; int main() { //setlocale(LC_ALL, "rus"); char m ; int n;
C++ Чтение данных из файла Вот программа запись и чтение из файла. Сначала записываем данные о студенте(фамилия, год рождения, пол), а потом нужно считать из файла и вывести на экран инфу о студенте, год рождения которого... http://www.cyberforum.ru/cpp-beginners/thread144094.html
C++ Cистема резервирования билетов авиакомпании
Уважаемые Гуру! Помогите довести до ума этот код. Уже 3 часа сижу и никак к норме не могу привести, давно не занимался и сейчас каша в голове. Задание и то, что сделал ниже. Огромное спасибо!...
C++ подскажите как решить на С++
Матрицу А(n,n) разложить на слагаемые : А=B+C+D, где B-строго нижнетреугольная, С-диагональная, D-строго верхнетреугольная матрицы того же размера. Для экономии памяти матрицы B,C,D хранить в...
C++ Строки и одномерные массивы http://www.cyberforum.ru/cpp-beginners/thread144039.html
нужно решить задачку: Дано стихотворение А.С. Пушкина. Сколько раз в каждой строке встречается данный символ? Никогда со строками не работала, так что помогите =(
C++ Теоретические вопросы по С++ Нужна помощь в ответах на несколько вопросов. Помогите плз!:) 1) Как инициализировать переменную, являющуюся приватным статическим членом класса? 2) Если при создании переменной программист ее... подробнее

Показать сообщение отдельно
Inadequate
Retired
7707 / 2540 / 184
Регистрация: 17.10.2009
Сообщений: 5,106
11.06.2010, 13:33
neske, //Александр, kazak, а если в массиве не будет вообще отрицательных ?

Вообще код на паскале имеет тот же недочет, который есть в ответах выше. Да и вообще это программа на один цикл. Вот вариант на паскале
Pascal
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
34
35
36
37
38
39
40
41
uses
  Crt;
const
  N = 5;
var
  a: array [1..N] of integer;
  i,sum,pr,max,tmp: integer;
  f: boolean;
begin
  ClrScr;
  Randomize;
  f := true;
  max := 1;
  sum := 0;
  tmp := 0;
  WriteLn('Array:');
  for i := 1 to N do
  begin
    a[i] := Random(8) + 4;
    if a[i] < 0 then
    begin
      if f then
        f := false;
      pr := pr * a[i];
    end;
    if a[i] > a[max] then
    begin
      max := i;
      Inc(sum, tmp);
      tmp := 0;
    end;
    Inc(tmp, a[i]);
    Write(a[i], ' ');
  end;
  if not f then
    WriteLn(#10, 'Product: ', pr)
  else
    WriteLn(#10, 'Product: none');
  WriteLn('Max - a[', max, '] = ', a[max], #10, 'Sum: ', sum);
  ReadLn;
end.
А вот на с++
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>
 
int main()
{
    int max = 0, sum = 0, pr = 1, tmp = 0, n;
    bool f = 1;
 
    std::cin >> n;    
    int a[n];
    for (int i = 0; i < n; i++)
    {
        std::cin >> a[i];
        if (a[i] < 0)
        {
            if (f) f = 0;
            pr *= a[i];
        }
        if (a[i] > a[max])
        {
            max = i;
            sum += tmp;
            tmp = 0;
        }
        tmp += a[i];
    }
    
    if (f) std::cout << "\nProduct: none";
    else std::cout << "\nProduct: " << pr;
    std::cout << "\nMax: " << a[max] << "\nSum: " << sum << std::endl; 
    
    system("pause");
    return 0;    
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru