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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
jlw
6 / 6 / 0
Регистрация: 30.09.2010
Сообщений: 18
#1

Правильность и рациональность кода - C++

30.09.2010, 19:30. Просмотров 1682. Ответов 39
Метки нет (Все метки)

Всем привет! Вот уже прошло 24 часа с момента начала моего обучения С++ . До этого имел дело с такими языками, как Pascal и PHP. Ко вторнику нужно решить 30 задач. Пока решил 2 и хотелось бы узнать, насколько правильно и оптимально я это сделал, чтобы далее двигаться более рациональным путем. Может быть пропущены какие-то важные моменты? Кусок кода можно переписать гораздо легче? Или я вообще сделал "как не следует"? Прошу ответить на эти вопросы! А теперь перейдем к самим задачам.


ограничение времени на тест: 1 сек.
ограничение памяти на тест: 4096 KB.
ввод: input.txt
вывод: output.txt

Совсем скоро в Берляндии состоится первый традиционный Всеберляндский маскарад. Правительство Берляндии в срочном порядке сформировало министерство по подготовке маскарада. Перед министерством встала сложная задача: известно, что 1 метр ткани стоит P бурлей, а на пошив костюмов членам правительства необходимо приобрести N метров ткани. Ваша задача, сколько бурлей потратит министерство на покупку ткани.

Входные данные
В первой строке входного файла записано два натуральных числа через пробел P и N (1<=P<=100, 1<=N<=100).

Выходные данные
Выведите единственное натуральное число - необходимое количество бурлей на покупку N метров ткани по P бурлей за метр.
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
// Реализация в VS2008
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main() {
    FILE *input, *output;
    char buf[8] = buf2[8] = buf3[8] = out[8] = "";
    int p, n, g = 0;
    
    input = fopen("input.txt", "r" );
    fgets(buf, 8, input);
    fclose(input);
    
    for (int i = 0; i < int(strlen(buf)); i++) {
        if (buf[i] != 32) {
            buf2[i] = buf[i];
        } else {
            for (int z = i+1; z < int(strlen(buf)); z++) {
                buf3[g] = buf[z];
                g++;
            }
            break; 
        }
    }
    
    p = atoi(buf2);
    n = atoi(buf3);
        
    output = fopen("output.txt", "w" );
    itoa((p*n),out,10);
    fputs(out, output);
    fclose(output);
}
ограничение времени на тест: 1 сек.
ограничение памяти на тест: 65536 KB.
ввод: input.txt
вывод: output.txt

Найдите количество натуральных нечетных чисел меньших N.

Входные данные
Во входном файле записано целое число N (-1000<=N<=1000).

Выходные данные
Выведите искомое число.
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
// Реализация в wxDev C++
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main() {
    FILE *input, *output;
    unsigned short n;
    int z = 0;
    char buffer[6], out[5];
    
    input = fopen("input.txt", "r" );
    fgets(buffer, 6, input);
    fclose(input);
 
    n = atoi(buffer);
    
    if (n > 0 and n <= 1000) {
        for (int i = n; i > 0; --i) {
            if (i % 2 != 0) {
                ++z;
            }
        }
    } else {
        z = 0;
    }
    
    output = fopen("output.txt", "w" );
    fputs(itoa(z,buffer,10), output);
    fclose(output);
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2010, 19:30     Правильность и рациональность кода
Посмотрите здесь:

Правильность кода - C++
Решал вот эту функцию, которая прикреплена ниже, дошел до такого кода: #include &quot;stdafx.h&quot; #include &quot;stdafx.h&quot; #include &quot;cmath&quot; ...

Проверьте правильность кода - C++
Здравствуйте. Задали рассчитать площадь треугольника по заданным параметрам: сторонам треугольника ABC и радиусу описанной окружности....

Правильность кода программы - C++
Здравствуйте. Подскажите правильно ли я записал код по условию, а то нет возможности спросить у кого нибудь как кроме здесь: Составить...

Проверка на правильность кода - C++
// C++ 6.6 I.12.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

проверка кода на правильность - C++
Используя оператор цикла while с условием и постусловием, решить следующие задачу: найти сумму ряда с точностью е = 10-4, общий член...

Проверьте правильность кода - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; int main() { setlocale(LC_ALL, &quot;Russian&quot;); int p; float q, n,...

Проверить правильность кода (задача, 1 курс) - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; int main() { float x = -2.8, b, y = 1; float max = ((1 + (pow(x, 2))...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
30.09.2010, 23:27     Правильность и рациональность кода #16
Код
if (p < 1 or p > 100 or n < 1 or n > 100)
Это у вас работает? Как бы или в C/C++ - ||
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
30.09.2010, 23:32     Правильность и рациональность кода #17
Цитата Сообщение от Lavroff Посмотреть сообщение
Код
if (p < 1 or p > 100 or n < 1 or n > 100)
Это у вас работает? Как бы или в C/C++ - ||
Это видимо стандарт 0x таким получился пока мы не видели
jlw
6 / 6 / 0
Регистрация: 30.09.2010
Сообщений: 18
30.09.2010, 23:32  [ТС]     Правильность и рациональность кода #18
работает)
т.е. в с++ "or" использовать не следует?
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
30.09.2010, 23:34     Правильность и рациональность кода #19
Цитата Сообщение от jlw Посмотреть сообщение
работает)
т.е. в с++ "or" использовать не следует?
Вообще-то в c++ такого оператора вообще нет...
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
30.09.2010, 23:35     Правильность и рациональность кода #20
И как это работает? оО
jlw
6 / 6 / 0
Регистрация: 30.09.2010
Сообщений: 18
30.09.2010, 23:35  [ТС]     Правильность и рациональность кода #21
а в С ? но как ни странно прокатило, компилятор wxDev C++ .
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
30.09.2010, 23:37     Правильность и рациональность кода #22
jlw, О_о
or прокатило в wxDev C++? О_о
NightmareZ
1339 / 562 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
30.09.2010, 23:38     Правильность и рациональность кода #23
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от gooseim Посмотреть сообщение
Вообще-то в c++ такого оператора вообще нет...
Ну вообще-то есть, просто не все об этом знают

http://www.cppreference.com/wiki/operator_precedence


C++ defines keywords to act as aliases for a number of symbols that function as operators: and (&&), bitand (&), and_eq (&=), or (||), bitor (|), or_eq (|=), xor (^), xor_eq (^=), not (!), not_eq (!=), compl (~). These are parsed exactly like their symbolic equivalents, and can be used in place of the symbol they replace. It is the character or string that is aliased, not the operator. As a result, bitand is used to replace the bitwise AND operator, the address-of operator, and can be used to specify reference types (e.g. int bitand ref = n; ).

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
30.09.2010, 23:40     Правильность и рациональность кода #24
NightmareZ, Омфг. И правда. Но MSVS это не проглатывает.
NightmareZ
1339 / 562 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
30.09.2010, 23:42     Правильность и рациональность кода #25
Цитата Сообщение от Lavroff Посмотреть сообщение
Но MSVS это не проглатывает.
Ну это да.
jlw
6 / 6 / 0
Регистрация: 30.09.2010
Сообщений: 18
30.09.2010, 23:44  [ТС]     Правильность и рациональность кода #26
Буду знать)

А в остальном код хорош?)
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
30.09.2010, 23:47     Правильность и рациональность кода #27
Вполне. Использование using namespace и return 0 - несколько холливарная тема.

NightmareZ, не знаешь почему в MSVS это не катит?
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
30.09.2010, 23:48     Правильность и рациональность кода #28
Ну вообще-то есть, просто не все об этом знают
Действительно, даже в стандарте оператор or прописан. Этого я не знал.
NightmareZ
1339 / 562 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
30.09.2010, 23:48     Правильность и рациональность кода #29
Цитата Сообщение от Lavroff Посмотреть сообщение
NightmareZ, не знаешь почему в MSVS это не катит?
Неа, понятия не имею.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2010, 23:51     Правильность и рациональность кода
Еще ссылки по теме:

Проверте, пожалуйста, правильность программного кода - C++
#include &quot;stdafx.h&quot; #include &quot;string.h&quot; #include &quot;iostream&quot; using namespace std; int main() { char text; char*slova; ...

Проверьте правильность написания кода и коментарии - C++
Задача: Написать программу которая принимает в качестве аргумента имя файла f с русским текстом и печатает его в точности по одному...

Метод хорд, проверьте правильность кода - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; double func(double x) { return x*x*x+20*x+8*(log(2+10*sqrt(3))); } double...

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

Правильность и грамотность кода (опытный взгляд на код новичка) - C++
Здравствуйте друзья. Я программист любитель, лет 10 назад неплохо разбирался в php и немного в Python+django. На питоне даже какой-то...


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

Или воспользуйтесь поиском по форуму:
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
30.09.2010, 23:51     Правильность и рациональность кода #30
jlw, код вполне хороший.
Yandex
Объявления
30.09.2010, 23:51     Правильность и рациональность кода
Ответ Создать тему
Опции темы

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