Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 809
#1

Посмотрите код - C++

13.01.2011, 20:18. Просмотров 333. Ответов 7
Метки нет (Все метки)

Всем доброго времени суток. Вот написал програмку, которая считает сумму элементов массива. Помогите написать её через svitch.Заранее спасибо.
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
34
35
36
37
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int i,j,n,p=1;
    cout<<"n=";
    cin>>n;
    cout<<endl;
    int* a=new int[n];
    cout<<"Massiv: ";
    for(i=0;i<n;i++) { a[i]=rand()%30;
    }
 
    for(i=0;i<n;i++) if(a[i]>0);
 
    for(i=n-1;i>=0;i--) if(a[i]) { cout<<a[i]<<" "; p+=a[i]; }
    cout<<"\nSumma="<<p-1;
    for( i=0; i < n; i++) 
    {
        for( j = n-1; j > i; j-- )
        {     
            if (a[j-1]<a[j] )
            {
                int x=a[j-1];
                a[j-1]=a[j];
                a[j]=x;
            }
        }
    }
 
    delete []a;
    getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
13.01.2011, 20:22     Посмотрите код #2
DrSMERTb, Зачем же мудрить, если есть
C++
1
2
3
#include <numeric>
//...
std::cout << std::accumulate(a, a + n, 0);
DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 809
13.01.2011, 20:23  [ТС]     Посмотрите код #3
Я бы не мудрил) на защиту просто задали... именно через svitch(
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
13.01.2011, 20:29     Посмотрите код #4
Цитата Сообщение от DrSMERTb Посмотреть сообщение
for(i=0;i<n;i++) { a[i]=rand()%30;
* * }
Заполнение массива случайными числами.

Цитата Сообщение от DrSMERTb Посмотреть сообщение
for(i=0;i<n;i++) if(a[i]>0);
Хитрый пустой цикл. Ничего не делает.

Цитата Сообщение от DrSMERTb Посмотреть сообщение
for(i=n-1;i>=0;i--) if(a[i]) { cout<<a[i]<<" "; p+=a[i]; }
Вывод ненулевых значений массива с их подсчетом.

Цитата Сообщение от DrSMERTb Посмотреть сообщение
for( i=0; i < n; i++)
* * {
* * * * for( j = n-1; j > i; j-- )
* * * * { * *
* * * * * * if (a[j-1]<a[j] )
* * * * * * {
* * * * * * * * int x=a[j-1];
* * * * * * * * a[j-1]=a[j];
* * * * * * * * a[j]=x;
* * * * * * }
* * * * }
* * }
Что-то типа сортировки.

Ну и куда тут оператор выбора втыкать?
DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 809
13.01.2011, 20:58  [ТС]     Посмотрите код #5
Ну это конечно у препода нуно спросить. Ну пусть он как и в предыдущем случае проверяет не отрицательны ли элементы массива. Хотя там и так ясно, что они все положительны или равны нулю... Главно чтобы он был....

Добавлено через 26 минут
Ну что неужели никаких задумок нет? Я просто не могк понять как через svitch писать так бы сам написал. Помгите пожалуйсто.
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
13.01.2011, 21:04     Посмотрите код #6
Никаких задумок нет. Ничего не делающий свитч за пол-часа уже можно было нагуглить.
DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 809
13.01.2011, 21:07  [ТС]     Посмотрите код #7
Этот вариант уже проробатывал. Прога начинает ошибки выдавать. А хоть он ничего ин е делает, в обзем программа всё равно должна посчитать сумму элементов массива.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2011, 21:37     Посмотрите код
Еще ссылки по теме:

C++ Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы)
Посмотрите код программы C++
C++ Посмотрите код на наличие ошибки
Посмотрите какой код C++
Кто сможет, посмотрите на мой код. Ошибки синтаксиса C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
13.01.2011, 21:37     Посмотрите код #8
Ну покажи, что "пророботал".
Yandex
Объявления
13.01.2011, 21:37     Посмотрите код
Ответ Создать тему
Опции темы

Текущее время: 10:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru