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

как обнулить значение массива в цикле?(с++) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ я тут написал программу и не понял одной команды! http://www.cyberforum.ru/cpp-beginners/thread659573.html
взаимно простые числа Вот программа: #include <iostream> #include <locale.h> #include <conio.h> using namespace std; int main(){ setlocale(LC_ALL,"ukrainian"); int a,b; cout<<"Введiть числа:a,b"<<"\n";
C++ Сортировка Есть прайс. Массив из структуры. В нём товар, магазин, цена. Нужно отсортировать по алфавиту по магазинам. Я сортирую. После сортировки у меня только самый первый элемент с нормальной кодировкой. Остальные - крякозябры. // lab3.cpp: главный файл проекта #include "stdafx.h" #include <iostream> using namespace std; using namespace System; #include <fstream> #include <string> struct price {... http://www.cyberforum.ru/cpp-beginners/thread659568.html
C++ На какой области плоскасти находиться точка
Состройте чертеж. Обозначите получившиеся области плоскости .Составе программу которая по заданным координатам точек (X,Y) определяет на какой линии или на какой области плоскости находиться эта точка. Прямая x-3y+3=0; Окружность (x-2)2+(y+3)2=4; Парабола y=(x+3)2+1;
Turbo C++ реализовать для программы многоплатформенность C++
Всем доброго времени суток. У меня....наверное вам покажется довольно глупый вопрос, но тем не менее. Скажите пожалуйста, можно ли в винде, на IDE Turbo C++ реализовать для программы многоплатформенность, в частности, что бы она открывалась на linux, на macOS, на windows (требование к курсовой работе). Просто у меня сейчас проблемы с интернетом, и достать другую IDE у меня нету возможности, вот я...
C++ Заменить отрицательные элементы одномерного массива целых чисел на нули http://www.cyberforum.ru/cpp-beginners/thread659502.html
Заменить отрицательные элементы одномерного массива целых чисел на нули, а затем подсчитать количество нулевых элементов. 1. отформатировать исходный код программы согласно требованиям к оформлению исходного кода; 2. использовать динамические массивы (размер массива вводится пользователем с проверкой ввода); 3. выявить ограничения на вводимые пользователем значения и, если таковые имеются, не...
C++ шаблон листа Создание шаблона двунаправленного списка класс List. а. добавления узла перед заданным элементом; b. удаления всех заданных элементов; c. сортировка элементов меняя узлы. d. добавления узла после заданного элемента. мой код // lab53.cpp : Defines the entry point for the console application. // подробнее

Показать сообщение отдельно
alexmen
0 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 6

как обнулить значение массива в цикле?(с++) - C++

28.09.2012, 10:38. Просмотров 1060. Ответов 4
Метки (Все метки)

Первый раз считает нормально (правильно) А если нажать y то 2 раз считает уже неправльно я так думаю связно это с тем что значение не обнуляються как обнулить значение массива помогите плз
пробывал и memset( x, 0, size * sizeof(double)); не помогло =(


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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include "stdafx.h"
#include <iostream> 
using namespace std; 
void main() 
{   
 setlocale(LC_ALL, "Russian_Russia.1251"); 
    cout<<"введите размерность матрицы\n"; 
    double sum11=1,sum12=0, sum21=1, sum22=0; 
    bool done;          
    do
    {
    int size, l;        
    cin>>size;          
    int m1=size;
    double *x=new double[size]; 
    double temp,d=0;
    double **a=new double*[m1]; 
    double *b=new double[size];
    
 
    for (int i=0;i<size;i++)
        a[i]=new double[m1];
//------------------------------------------------------------------------------------------------------------
    // заполняем массив значениями
 
    for (int i = 0; i<size; i++)  
    {
    for(int j = 0;j<size; j++)   
 
    {
        cout<<" Введите a["<<i+1<<"]["<<j+1<<"]\n"; // вывод a [позиция]
            cin>>a[i][j]; // ввод а
    }
        cout<<" Введите b["<<i+1<<"]\n"; // вывод b [ позиция]
            cin>>b[i];   // ввод б
    }
        cout<<"\n\n";   // переносы строки 
 
//-------------------------------------------------------------------------------------------------------------
   // выводим, что получилось
    
    for (int i = 0; i<size; i++)
    
        {
    for(int j = 0;j<size; j++)
        cout<<a[i][j]<<"\t"; // "\t" пробелы
        cout<<b[i]<<"\n";
        cout<<"\n";
        }
 
    if (size == 1) // если size = 1
        cout<<"x[1]="<<b[0]/a[0][0]<<endl; // b/a
    else // иначе
 
    {
//------------------------------------------------------------------------------------------------------------
   // находим детерминант
 
    for (int i=0;i<size;i++)
    {
        sum11=1; l=2*size-1-i;sum21=1;
        for (int j=0;j<size;j++)
        {
            sum21*=a[j][l%size];
            l--;
            sum11*=a[j][(j+i)%(size)];
        }
        sum22+=sum21;
        sum12+=sum11;
    }
 
    d=sum12-sum22; // вычисление детерминанта 
    cout<<"детерминант = "<<d<<endl;
   if (d==0) // если детерминант равен 0
   cout<<"\nуравнение не имеет корней"<<endl;
   else
   {
    
//-------------------------------------------------------------------------------------------------------------
    // находим корни уравнения
    for (int p=0; p<size; p++)
        {
            sum11=1,sum12=0, sum21=1, sum22=0;
            for (int i=0;i<size;i++)
            {
        sum11=1; l=2*size-1-i;sum21=1;
        for (int j=0;j<size;j++)
        {
            if ((j+i)%(size)==p)
                sum11*=b[j];
            else
                sum11*=a[j][(i+j)%size];
            if (l%size==p)
                sum21*=b[j];
            else
                sum21*=a[j][l%size];
        
            l--;
            
        }
        sum22+=sum21;
        sum12+=sum11;
            }
    *(x+p)=sum12-sum22;
    //cout<<*(x+p)/d<<endl;
    cout<<"x["<<p+1<<"]="<<*(x+p)/d<<endl;
    }
}
cout<<"\n\n\n";
}
delete[]b; // освобождение памяти b
delete[]x; // освобождение памяти x
 
for( int i =0; i<size;i++)
    delete[]a[i];
 
 
cout <<"Продолжить?(y/n)"<<endl;
    char c;
    cin >> c;
    done = (c != 'y'); 
 
delete[]a; // освобождение памяти а
} while(!done);  
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru