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

Нужно исправить ошибку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Указатели http://www.cyberforum.ru/cpp-beginners/thread133186.html
Написать функцию, в которой в качестве параметра принимается указатель массив. Отсортировать элементы массива по возрастанию и вывести на экран.
C++ работа с файлами Написать программу, которая выводит на экран содержимое текстового файла http://www.cyberforum.ru/cpp-beginners/thread133185.html
C++ Печать матрицы
Есть разреженная матрица, которая считывается из файла в цепочку ненулевых элементов и вектор указывающий на индекс начало новой строки в цепочке. Считать я считал без проблем, а с печатью проблемы. Помогите пожалуйста, вот код #include <stdio.h> #include <stdlib.h> char data; int input_matrix; int A_matrix;
C or C++ C++
На плоскости даны 20 точек (x1,y1),(x2,y2)....(x20,y20). Рассмотрим прямоугольники, содержащие эти точки, причем стороны прямоугольников параллельны или перпендикулярны координаты противоположных углов такого прямоугольника левого нижнего и правого верхнего.
C++ поиск в ширину http://www.cyberforum.ru/cpp-beginners/thread133164.html
Помогите объяснить это по русски каждую строчку что тут написнао . #include <cstdio> #include <vector> #include <stack.h> #include <queue> #include <list> using namespace std; struct Ver { int v, w;
C++ Вопросы по std::list 1. Как обменять в списке два его элемента? Желательно большое быстродействие :) т.е. без удалить оба а потом добавить в другом порядке, т.к. хранятся крупные объекты 2. Для чего нужен метод max_size? Ведь список динамически расширяется и может содержать сколь угодно элементов... Добавлено через 20 часов 8 минут up up :) подробнее

Показать сообщение отдельно
Serega1
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 68
21.05.2010, 10:20     Нужно исправить ошибку
Здравствуйте уважаемые форумчане.
Не молчите пожалуйста, ответьте хоть кто-нибудь. Сколько писал никто не отвечает. Может потому что вопросы слишком простые, но все же хоть что-то ответьте.
Нужно подправить следующий код:

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "stdafx.h"
#include "iostream"
#include "math.h"
#include "conio.h"
 
using namespace std;
 
int fact(int n)
{
  int factorial=1;
  for(int i=1; i<=n; i++)
   factorial=factorial*i;
  return factorial;
}
 
void mult(int factorial ,int i)
{
    int size2=0;
    int temp = factorial;
    int size = 0;
    int j;
    
    do // находим кол - во цифр в числе
    {
     temp /= 10;
     ++size;
    }
    while(temp>0);
     int *razb_fac = new int[size];
     for(j = 0; j<size; ++j ) // разбиваем
     { 
      razb_fac[j] = factorial % 10;
      factorial /= 10;
     }
     int *rez_mas = new int[size2];
     int carry = 0;
     int k=0;
     for (k; k < size; k++)
     {
        carry=carry+ razb_fac[k] * i;
        rez_mas[k] = carry % 10;
        carry /= 10;
        cout<<rez_mas[k]<<"  ";
     } 
}
 
int _tmain(int argc, _TCHAR* argv[])
{
 int n,i,rez,rez2;
 cout<<"Enter n:";
 cin>>n;
 if(n<=10)
 {
  rez=fact(n);
  cout<<"Factorial "<<n<<" this "<<rez;
 }
 if(n>10)
 {
  int factorial=1;
  for(i=1; i<=10; i++)
  factorial=factorial*i;
  mult(factorial,i);
 }
getch();
return 0;
}
Добавлено через 26 минут
Поясню, я считаю факториал, если меньше 10, то обычным способом. А если больше 10, то считаю до 10! и результат передаю в процедуру, для дальнейшего домножения и вывода результата.
Проблема в том, что выводит результат задом наперед и срезает первую цифру. Исправьте пожалуйста, если можете и имеете свободное время.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru