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

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

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

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

10.07.2011, 23:12. Просмотров 819. Ответов 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;
}
Но программу не приняли, сказав, что существует много языков программирования, и надо выбрать один.
Получается я смешал язык Си и Си++ ?
Если да, то как это исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2011, 23:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Языки программирования (C++):

Языки программирования, не требуюшие .net и подобных - C++
Не знаю к какому разделу это отнести. Нужен такой яп, чтобы написанная и скомпилированная програмулина работала на любых машинах с виндой....

В какой последовательности начать изучать языки программирования? - C++
Появился интерес к C++, но после того, как начал читать про него подробнее, наткнулся на информацию о том, что что бы легче было понимать...

«Языки и технологии программирования» «Операторы цикла. Условные операторы» - C++
Не получается сделать что бы программа выводила все значения в промежутке, она выводит только одно. условия | ((z^3)+sin...

Наследование классов "Языки программирования" - C++
Создать иерархию классов (Ассемблер, C, С++, язык программирования, язык программирования высокого уровня). Что можно описать в функциях...

Как называется движение программирования или теория программы считывающая др. язык программирования - C++
Не знал, как по другому задать вопрос, и также назвать тему, но буду краток: Допустим я хочу создать программу, которая будет...

Формальные языки в С++ - C++
Добрый день уважаемые форумчане! Уже почти неделю бьюсь с неразрешимой на мой взгляд, проблемой. Задали сделать лабораторную с...

10
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 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;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
10.07.2011, 23:16 #3
Цитата Сообщение от Defik Посмотреть сообщение
#include <stdlib.h>
Эта строка смутила? Так уберите её, ничего не изменится. В остальном примитивный, но всё-таки С++. Вот только логика странная
Цитата Сообщение от Defik Посмотреть сообщение
if (max > 0)
а если меньше или равно - просто ничего не делать?

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

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

Добавлено через 1 минуту
Цитата Сообщение от Maxwe11 Посмотреть сообщение
cout << "" << endl;
перевод каретки) на будущее, вполне достаточно cout << endl;
возможно пользователь взял конструкцию и слепо ее копирует.
0
schdub
2959 / 1304 / 239
Регистрация: 19.01.2009
Сообщений: 3,431
Завершенные тесты: 1
10.07.2011, 23:19 #5
Цитата Сообщение от Defik Посмотреть сообщение
double max = -1;
Кстати, в задании сказано, что числа в массиве будут положительными? А если нет? Например, такие: -2, -3, -4, -5, -666. Верный ли ответ выведет программа?
0
CEBEP
107 / 107 / 9
Регистрация: 21.03.2010
Сообщений: 444
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;
}
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;
}
И еще, подскажите будте добры, как сделать так, что бы программа работала с отриц значениями?
0
CEBEP
107 / 107 / 9
Регистрация: 21.03.2010
Сообщений: 444
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;
}
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
Программа выдает первое значение....
0
CEBEP
107 / 107 / 9
Регистрация: 21.03.2010
Сообщений: 444
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;
}
1
Defik
0 / 0 / 0
Регистрация: 10.07.2011
Сообщений: 4
10.07.2011, 23:59  [ТС] #11
Я мало еще в этом понимаю, сложно разобраться, спасибо за помощь.
0
10.07.2011, 23:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2011, 23:59
Привет! Вот еще темы с ответами:

Кодировки, языки - C++
Здравствуйте. Не могу разобраться с тем как работать с файлами и строками на разных языках. Русский получилось писать с помощью локали...

Разные языки в одном файле - C++
В общем имею файл в котором записаны последовательно тексты на разных языках. язык1 язык2 язык3 .. языкN Имею N парсеров...

Объектно-ориентированный C++ и другие языки - C++
Один мой знакомый посоветовал мне, для того чтобы лучше разобраться с объектно-ориентированной и библиотечно-шаблонной кухней C++ сперва...

Какие объектно ориентированные языки были до С++? - C++
Какие объектно ориентированные языки были до С++?


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.