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

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

Войти
Регистрация
Восстановить пароль
 
Defik
0 / 0 / 0
Регистрация: 10.07.2011
Сообщений: 4
#1

Языки программирования - C++

10.07.2011, 23:12. Просмотров 755. Ответов 10
Метки нет (Все метки)

Есть код программы

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
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
        size_t size;
        cout << "" << endl;
        cin >> size;
        double* array = new double[size];
        cout << "" << endl;
        double max = -1;
        for (size_t i = 0; i < size; ++i)
        {
                cin >> array[i];
                if (array[i] > max && array[i] > 0)
            max = array[i];
    }
    if (max > 0)
        cout << "" << max << endl;
 
        delete[]array;
        return 0;
}
Но программу не приняли, сказав, что существует много языков программирования, и надо выбрать один.
Получается я смешал язык Си и Си++ ?
Если да, то как это исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2011, 23:12     Языки программирования
Посмотрите здесь:

знаю паскаль, учу с++. какие языки ещё нужны? может ассемблер, или яву? C++
C++ программамы языки для создания сценариев ?
Среда программирования. C++
Объектно-ориентированный C++ и другие языки C++
С + + и Visual C + + и чем они отличаются? Есть ли их изучение взаимно дополняющее или это совсем разные языки? C++
C++ Кодировки, языки
Как называется движение программирования или теория программы считывающая др. язык программирования C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.07.2011, 23:15     Языки программирования #2
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
#include <iostream>
 
using namespace std;
 
int main()
{
        size_t size;
        cout << "" << endl;
        cin >> size;
        double* array = new double[size];
        cout << "" << endl;
        double max = -1.0;
        for (size_t i = 0; i < size; ++i)
        {
                cin >> array[i];
                if (array[i] > max && array[i] > 0.0)
            max = array[i];
    }
    if (max > 0)
        cout << "" << max << endl;
 
        delete[]array;
        return 0;
}
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
10.07.2011, 23:16     Языки программирования #3
Цитата Сообщение от Defik Посмотреть сообщение
#include <stdlib.h>
Эта строка смутила? Так уберите её, ничего не изменится. В остальном примитивный, но всё-таки С++. Вот только логика странная
Цитата Сообщение от Defik Посмотреть сообщение
if (max > 0)
а если меньше или равно - просто ничего не делать?

Цитата Сообщение от Defik Посмотреть сообщение
cout << ""
Ещё не понял смысла этой конструкции...
IIIa66uMEM6eP
заставил Бендера
 Аватар для IIIa66uMEM6eP
432 / 288 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
10.07.2011, 23:19     Языки программирования #4
Maxwe11, мило)

Цитата Сообщение от Defik Посмотреть сообщение
Получается я смешал язык Си и Си++ ?
просто убрал лишнюю библиотеку.. ну и преподам большой привет. зачем студента гонять - если такую мелочь можно и на месте решить.

Добавлено через 1 минуту
Цитата Сообщение от Maxwe11 Посмотреть сообщение
cout << "" << endl;
перевод каретки) на будущее, вполне достаточно cout << endl;
возможно пользователь взял конструкцию и слепо ее копирует.
schdub
 Аватар для schdub
2916 / 1260 / 227
Регистрация: 19.01.2009
Сообщений: 3,273
Завершенные тесты: 1
10.07.2011, 23:19     Языки программирования #5
Цитата Сообщение от Defik Посмотреть сообщение
double max = -1;
Кстати, в задании сказано, что числа в массиве будут положительными? А если нет? Например, такие: -2, -3, -4, -5, -666. Верный ли ответ выведет программа?
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
10.07.2011, 23:22     Языки программирования #6
вас тролят, не ведитесь. этот вопрос до бесконечности философский, тем не менее, от него можно немного абстрагироваться отказавшись полностью от с++, написав код на чистом си, вот так это выглядит для вашей задачи:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    size_t size;
    scanf("%d", &size);
    double* array = (double*)malloc(size * sizeof(double));
    double max = -1;
    for (size_t i = 0; i < size; ++i)
    {
        scanf("%lf", array + i);
        if (array[i] > max && array[i] > 0)
            max = array[i];
    }
    if (max > 0)
        printf("%lf\n", max);
 
    free(array);
    return 0;
}
Defik
0 / 0 / 0
Регистрация: 10.07.2011
Сообщений: 4
10.07.2011, 23:37  [ТС]     Языки программирования #7
Цитата Сообщение от easybudda Посмотреть сообщение
Эта строка смутила? Так уберите её, ничего не изменится. В остальном примитивный, но всё-таки С++. Вот только логика странная

а если меньше или равно - просто ничего не делать?


Ещё не понял смысла этой конструкции...
Просто там было написанно Введите массив и т.д. и т.п. , но по условию программу должна выводить только результат , поэтому просто стер это дело.

А сложно будет если это на Си переделать?
А то Си++ изучал кустарным способом, и вот что получилось....

Добавлено через 14 минут
Цитата Сообщение от CEBEP Посмотреть сообщение
вас тролят, не ведитесь. этот вопрос до бесконечности философский, тем не менее, от него можно немного абстрагироваться отказавшись полностью от с++, написав код на чистом си, вот так это выглядит для вашей задачи:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    size_t size;
    scanf("%d", &size);
    double* array = (double*)malloc(size * sizeof(double));
    double max = -1;
    for (size_t i = 0; i < size; ++i)
    {
        scanf("%lf", array + i);
        if (array[i] > max && array[i] > 0)
            max = array[i];
    }
    if (max > 0)
        printf("%lf\n", max);
 
    free(array);
    return 0;
}
И еще, подскажите будте добры, как сделать так, что бы программа работала с отриц значениями?
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
10.07.2011, 23:43     Языки программирования #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    size_t size;
    scanf("%d", &size);
    double* array = (double*)malloc(size * sizeof(double));
    scanf("%lf", array);
    double max = *array;
    for (size_t i = 1; i < size; ++i)
    {
        scanf("%lf", array + i);
        if (array[i] > max && array[i] > 0)
                    max = array[i];
    }
    printf("%lf\n", max);
 
    free(array);
    return 0;
}
Defik
0 / 0 / 0
Регистрация: 10.07.2011
Сообщений: 4
10.07.2011, 23:53  [ТС]     Языки программирования #9
Цитата Сообщение от CEBEP Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    size_t size;
    scanf("%d", &size);
    double* array = (double*)malloc(size * sizeof(double));
    scanf("%lf", array);
    double max = *array;
    for (size_t i = 1; i < size; ++i)
    {
        scanf("%lf", array + i);
        if (array[i] > max && array[i] > 0)
                    max = array[i];
    }
    printf("%lf\n", max);
 
    free(array);
    return 0;
}
При работа с отриц значениями -10 -5 -2
Программа выдает первое значение....
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
10.07.2011, 23:56     Языки программирования #10
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    size_t size;
    scanf("%d", &size);
    double* array = (double*)malloc(size * sizeof(double));
    scanf("%lf", array);
    double max = *array;
    for (size_t i = 1; i < size; ++i)
    {
        scanf("%lf", array + i);
        if (array[i] > max /*&& array[i] > 0*/)//можно было и догадаться! Прочитайте хотя бы код...
                    max = array[i];
    }
    printf("%lf\n", max);
 
    free(array);
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2011, 23:59     Языки программирования
Еще ссылки по теме:

C++ Extern: Есть ли на данный момент набор инструментов, которые позволили бы использовать другие языки
C++ Наследование классов "Языки программирования"
Какие объектно ориентированные языки были до С++? C++
Разные языки в одном файле C++
C++ В какой последовательности начать изучать языки программирования?

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

Или воспользуйтесь поиском по форуму:
Defik
0 / 0 / 0
Регистрация: 10.07.2011
Сообщений: 4
10.07.2011, 23:59  [ТС]     Языки программирования #11
Я мало еще в этом понимаю, сложно разобраться, спасибо за помощь.
Yandex
Объявления
10.07.2011, 23:59     Языки программирования
Ответ Создать тему
Опции темы

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