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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Удалить из массива все элементы, совпадающие с минимальным http://www.cyberforum.ru/cpp-beginners/thread170981.html
здравствуйте) у меня такой вопрос. я сформировала массив. мне нужно в нём все элементы, совпадающие с миним. значением удалить.. и вывести полученный массив #include <iostream.h> void main() {
C++ Определить равна ли сумма первых двух цифр числа третьей его цифре bool ifaplusbC(int x) { int a,b,c; a=x/100; b=x%100; b=x/10; c=x%10; if(c==a+b) return true; else http://www.cyberforum.ru/cpp-beginners/thread170966.html
Дано 4 цифры, напечатать цифры в порядке возрастания C++
в программе ввел 4 числа,она должна распологать цифры в порядке возрастания,без всяких массивов и циклов void lowtohigh(int a, int b,int c, int d) { if(a>b && a>c && a>d) //A { cout<<a; if(b>c && b>d)
C++ Написать класс Student
Написать класс Student, содержащий сведения: фамилия, имя, отчество студента, оценки по m экзаменам. Написать программу, которая выводит количество студентов, сдавших сессию только на «4» и «5», и количество студентов, имеющих «2» хотя бы по одному экзамену. Вывести эти показатели и в процентном отношении. Добавить в класс Student функцию-член класса, определяющую, получает ли студент стипендию,...
C++ Оценка алгоритма http://www.cyberforum.ru/cpp-beginners/thread170952.html
Может конечно не в тот раздел пишу, но думаю тут мне помогут есть вообщем алгоритм double fast(double a, int n) { int counter=0; double res=1; while (n>0) { if (n%2==1) {
C++ Сгенерировать одномерный масив так чтобы цифры в нём не повторялись Пожалуйста помогите! Пропустил первую лекцию по С, теперь сижу на лабе не знаю что делать. Задание не сложное, но как реализовать не понимаю (первый раз работаю на этом языке). Задание: Сгенерировать одномерный масив (размером 5 или 6, это выберает пользователь) и так чтобы цифры в нём не повторялись. подробнее

Показать сообщение отдельно
jlw
6 / 6 / 0
Регистрация: 30.09.2010
Сообщений: 18
30.09.2010, 19:30     Правильность и рациональность кода
Всем привет! Вот уже прошло 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru