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

Не переводит на новую строку! - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
06.07.2012, 12:17     Не переводит на новую строку! #1
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 <stdio.h>
#include <string.h>
 
int main()
{
    char a[10000],b[10000];                 //Длинные числа
    int la,lb,i,j;                          //Длины чисел
    int c[20001]={0};                       //Ответ
    scanf("%s%s",&a,&b);                    //Считываем числа в каждой строке
    la=(int)strlen(a); lb=(int)strlen(b);   //Преобразуем переменные в длину строки
    for (i=0;i<=la;i++)                     //У
        for (j=0;j<=lb;j++)                 //м
        {                                   //н
            c[i+j]+=(a[i]-'0')*(b[j]-'0');  //о
            if (c[i+j]>9)                   //ж
            {                               //а
                c[i+j+1]=c[i+j]%10;         //е
                c[i+j]/=10;                 //м
            }                               //...
        }                                   //...
    for (i=20001;i>=0;i--)                  //Проверяем, не осталось ли нулей
        if (c[i]>0) break;                  //Если цифра больше нуля, останавливаемся...
    for (;i>=0;i--) printf("%d",c[i]);      //...И продолжаем, выводя оставшиеся цифры
    printf("\n");                           //Переводим результат на новую строку   
}
Вот! Программа умножения двух длинных чисел(до 10000 разрядов). Не переводит на новую строку!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
06.07.2012, 13:26     Не переводит на новую строку! #2
C++
1
printf("%s", "\n");
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
06.07.2012, 22:35  [ТС]     Не переводит на новую строку! #3
DaskOFF, Спасибо, только теперь не хочет работать БЫДЛО-КОД!!!

Добавлено через 21 минуту
С огромным презрением переписал код:
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
#include <stdio.h>
#include <string.h>
 
void prv(char a[10000], int len)
{
    char t;
    for (int i=0;i<=len/2;i++)
    {
        t=a[i];
        a[i]=a[len-i];
        a[len-i]=t;
    }
}
 
int main()
{
    char a[10000],b[10000];                 //Длинные числа
    int la,lb,i,j;                          //Длины чисел
    int c[20001]={0};                       //Ответ
    scanf("%s%s",&a,&b);                    //Считываем числа в каждой строке
    la=(int)strlen(a); lb=(int)strlen(b);   //Преобразуем переменные в длину строки
    prv(a,la); prv(b,lb);
    for (i=1;i<=la;i++)                     //У
        for (j=1;j<=lb;j++)                 //м
        {                                   //н
            c[i+j]+=(a[i]-48)*(b[j]-48);
            if (c[i+j]>9)
            {
                c[i+j+1]+=c[i+j]/10;
                c[i+j]%=10;
            }
        }                                   //...
    for (i=20001;i>=0;i--)                  //Проверяем, не осталось ли нулей
        if (c[i]>0) break;                  //Если цифра больше нуля, останавливаемся...
    for (;i>=2;i--) printf("%d",c[i]);      //...И продолжаем, выводя оставшиеся цифры
    printf("\n");                           //Переводим результат на новую строку   
}
_or_75
-1 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 244
06.07.2012, 22:36     Не переводит на новую строку! #4
C++
1
std::cout << "" << endl;
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
06.07.2012, 22:45     Не переводит на новую строку! #5
Мб 2 последние строки заменить на:
C++
1
    for (;i>=0;i--) printf("%d\n",c[i]);
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
06.07.2012, 22:53  [ТС]     Не переводит на новую строку! #6
_or_75, библиотека - stdio.h. Не путайте пожалуйста с iostream/
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
06.07.2012, 23:00     Не переводит на новую строку! #7
Цитата Сообщение от _or_75 Посмотреть сообщение
C++
1
std::cout << "" << endl;
нафига "" внутри? мало того , написано с ошибкой
C++
1
std::cout << std::endl;
раз уж на то пошло
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2012, 23:01     Не переводит на новую строку!
Еще ссылки по теме:

fstream на новую строку C++
Переход на новую строку C++
C++ Написать программу которая переводит строку в обратную сторону

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

Или воспользуйтесь поиском по форуму:
_or_75
-1 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 244
06.07.2012, 23:01     Не переводит на новую строку! #8
C++
1
2
3
4
for (;i>=0;i--)
{
        printf("%i\n",c[i]);
}
получяеться если i больше нуля то вы i с каждым разом i уменьшаете,
например i будет 5, он 5 раз выведет, то есть 5,4,3 и т д, и после каждого вывода будет переходить
на новую строку и выводить на экран слудущию цыфру? я так понел
Yandex
Объявления
06.07.2012, 23:01     Не переводит на новую строку!
Ответ Создать тему
Опции темы

Текущее время: 07:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru