Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/41: Рейтинг темы: голосов - 41, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 44
1

почему не работает printf? С++

14.04.2011, 21:31. Показов 7714. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
 
void main()
{
     int colPos, rowPos;
     int i, j, k, razm;
     double max;
     double temp;
     int m_nCols;
     int m_nRows;
     double** array;
     double*  parray;
     unsigned int* ListVar;
     double* x;
     cout<<"введите количество уравнений:\n";
     cin>>razm;
     cout<<"введите расширенную матрицу:\n";
 
     m_nRows=razm;
     m_nCols=m_nRows+1;
     parray=new double[m_nRows*m_nCols];
     array=new double*[m_nRows];
     for (i=0; i<m_nRows; i++)
     {
          *(array+i)=parray+i*m_nCols;
     }
 
     ListVar=new unsigned int[m_nCols-1];
     for (j=0; j<m_nCols-1; j++)
          ListVar[j]=j+1;
 
     x=new double[razm];
 
     for (i=0; i<m_nRows-1; i++)
          x[i]=i+1;
 
     for (i=0; i<razm; i++)
          for (j=0;j<(razm+1); j++)
                cin>>array[i][j];
     for (k=0; k<m_nRows-1; k++)
     {
          colPos=rowPos=k;
          max=array[k][k];
          for (i=k; i<m_nRows; i++)
                for (j=k+1; j<m_nCols-1; j++)
                     if (abs(array[i][j])>max)
                     {
                          max=array[i][j];
                          rowPos=i;
                          colPos=j;
                     }
 
          for (i=0; i<m_nRows; i++)
          {
                temp=array[i][k];
                array[i][k]=array[i][colPos];
                array[i][colPos]=temp;
          }
 
          for (j=0; j<m_nCols; j++)
          {
                temp=array[k][j];
                array[k][j]=array[rowPos][j];
                array[rowPos][j]=temp;
          }
 
          temp=ListVar[k];
          ListVar[k]=ListVar[colPos];
          ListVar[colPos]=temp;
 
 
          for (j=m_nCols-1; j>=0; j--)
          {
                array[k][j]/=array[k][k];
 
          }
          for (j=0; j<m_nCols; j++)
                array[k][j];
          for (i=k+1; i<m_nRows; i++)
                for (j=m_nCols-1; j>=0; j--)
                     array[i][j]-=array[k][j]*array[i][k];
 
             }
 
     double s=0;
     x[m_nRows-1]=array[m_nRows-1][m_nCols-1]/array[m_nRows-1][m_nCols-2];
     for (i=m_nRows-2; i>=0; i--)
     {
          s=0;
          for (k=i+1; k<m_nRows; k++)
                s+=array[i][k]*x[k];
                x[i]=array[i][m_nCols-1]-s;
     }
     cout<<"\nрешение системы:\n";
     for (i=0; i<m_nRows; i++)
     printf("%.4f\n", x[i]);
          cout<<"X"<<ListVar[i]<<"="<<setprecision(4)<<x[i]<<endl;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2011, 21:31
Ответы с готовыми решениями:

почему PRINTF не работает?
есть файл с следующим содержаним: aa fr ab ty ac qw .. az re нужно найти в этом файле...

Почему не работает printf?
int main(){ setlocale(LC_ALL,&quot;RUS&quot;); SetConsoleCP(1251); SetConsoleOutputCP(1251); char...

Почему не выводит printf?
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;math.h&quot; #include &quot;locale.h&quot; using...

Почему используется printf, а не cout?
#include &lt;iostream.h&gt; void main() { printf(&quot;hello world&quot;); } почему void main() а не...

12
Формучанин
364 / 294 / 42
Регистрация: 02.11.2010
Сообщений: 1,242
14.04.2011, 21:33 2
в чём проявляется неработоспособность?
0
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 44
14.04.2011, 21:34  [ТС] 3
ошибку выдаёт
даже две
а изначально я хотела printf использовать, чтоб ограничить количество цифр после запятой
0
Формучанин
364 / 294 / 42
Регистрация: 02.11.2010
Сообщений: 1,242
14.04.2011, 21:35 4
C
1
#include <stdio.h>
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
14.04.2011, 21:35 5
Дарья Дмитренко, если не работает только printf, то пишите не так:
C++
1
printf("%.4f\n", x[i]);
а так:
C++
1
printf("%.4lf\n", x[i]);
0
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 44
14.04.2011, 21:37  [ТС] 6
не помогло
пишет, что неизвестная функция printf(((
0
Формучанин
364 / 294 / 42
Регистрация: 02.11.2010
Сообщений: 1,242
14.04.2011, 21:38 7
Цитата Сообщение от Дарья Дмитренко Посмотреть сообщение
не помогло
пишет, что неизвестная функция printf(((
добавление
C
1
#include <stdio.h>
не помогло?
0
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 44
14.04.2011, 21:47  [ТС] 8
помогло...
но выдаёт одну лишнюю строку...
строка вообще ни о чём, число какое-то
и я не понимаю как его убрать
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
14.04.2011, 22:28 9
Дарья Дмитренко, Количество цифр после зпт устанавливается std::set_precision(size)... Так что нет резона менять cout на printf
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
14.04.2011, 22:29 10
Название темы радует.. printf - это С.
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
14.04.2011, 22:32 11
neske, Ну да. Но никто ведь не накажет.
Единственное что - это не красиво.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class A
{
public:
   A(int a_):a(a_)
   {
   }
   int getA() const {return a;}
private:
   int a;
};
 
int main()
{
    A Ob;
    printf("%d\n", Ob.getA());
}
1
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 44
14.04.2011, 22:45  [ТС] 12
Меня тоже радует.
я прекрасно знаю, что это оператор С
но программа на С++
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
14.04.2011, 22:53 13
Цитата Сообщение от Дарья Дмитренко Посмотреть сообщение
Меня тоже радует.
я прекрасно знаю, что это оператор С
но программа на С++
А в чем смысл тогда?
0
14.04.2011, 22:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2011, 22:53
Помогаю со студенческими работами здесь

Почему printf не видит некоторые аргументы?
программа на с++, но для ограничения числа знаков после запятой использовала printf. #include...

Почему printf добавляет символы в выводе?
Программа меняет соседние буквы в словах. Ниже код, не знаю где ошибка. Вывожу слова с помощью...

Почему функция printf несовместима с функцией AllocConsole?
То есть ситуация: процесс x создаёт процесс y (x-&gt;y), в y для создания консоли используется функция...

Почему нежелательно использовать printf с одним аргументом?
Изучаю Си по книге. В главе &quot;Безопасное программирование на С&quot; написано, что нежелательно...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru