Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2010, 17:48   #1
Spiritehf
Новичок
Джуниор
 
Регистрация: 04.10.2010
Сообщений: 1
Сообщение Более компактный вид программы

Всем доброе время суток.Я начинающий программист на С++, учусь в НИЯУ Мифи.Задания по программированию которые нам дают - не сложные , но требования к ним страшные..
Прошу помочь сократить и упростить или хотябы совет при написании.Ибо я не знаю даже, чем он может не понравится профи?
Прошлый код был незачтен из-за двух мест где не было отступа после "if".
Этот я еще доформатирую, но его основа мне кажется слишком великой.
Задание -
Найти сумму делителей каждого из целых чисел от 390 до 410. Вывести результат в виде таблицы
Число Делители Сум.дел.
99 3, 9, 11, 33 56
100 2, 4, 5, 10, 20, 25, 50 116
101 … …

Определить наибольшее число из данного интервала, у которого сумма делителей максимальна.

Мой код
Цитата:
#include <iostream> '
#include "iomanip.h"
#include <string.h>
#include <sstream>
int Limx=390, Limy=410; // Можно задать интервал целых чисел
std::string tab;
std::stringstream table;
string title;
int a=0,b=0,c=0,g=0;
double tablisting[1][1];
int interval=0;
using namespace std;
void main ()
{
tablisting[1][c]=389;
cout << "Number "<< setw(30) << "Del" << setw(38) << "Summ" << endl;
tablisting[3][b]=0;
int max,maxn,h;
for(; interval<=(Limy-Limx); interval++)
{a=0,b=0;
tablisting[1][c]=tablisting[1][c]+1;
tablisting[2][a]=0;
cout << tablisting[1][c] << " ";
for(double i=1,k=1,t; i!=tablisting[1][c]+1; i++)
{k=(tablisting[1][c]/i);
if (k==(int)k)
{if(k!=tablisting[1][c] & k!=1 )
{b++;
tablisting[2][a]=tablisting[2][a]+i;
tablisting[3][b]=k;
if(max<tablisting[2][a]) // Находим наибольшую сумму делителей}
{max=tablisting[2][a]; maxn=tablisting[1][c];}
// Блок перевода чисел в строку
table << tablisting[3][b];
table >> tab;
title.append(tab);
title.append(",");
tab.clear();
table.clear();
// ........
}
}
}
cout << setw(50) << title;
title.clear();
cout << setw(20) << tablisting[2][a] << endl;
}
cout << endl;
cout << "Number who have a max sum of ..... is : " << maxn << endl;
system("PAUSE");
}
P.s C++ Builder 6
Английский, как и русский, страдает, прошу прощения за возможные недочеты.
Массивы точно лишнее..

Последний раз редактировалось Spiritehf; 04.10.2010 в 17:58.
Spiritehf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Иконки сменили внешний вид и программы не открываются Project 33 Операционные системы общие вопросы 13 23.10.2010 22:03
как это сделано (визуальный вид программы) designer999 Общие вопросы Delphi 12 14.09.2010 20:15
Внешний вид программы под ХР Rock'n'rolla Общие вопросы Delphi 13 21.01.2010 23:17
Из программы выгружается отчет (плохо), его нужно преобразовать в другой вид (хорошо) Anutik Microsoft Office Excel 4 23.09.2009 11:42
Вид программы. Maxs Общие вопросы Delphi 6 09.06.2009 17:08