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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
#1

Массивы - C++

07.12.2009, 21:36. Просмотров 503. Ответов 8
Метки нет (Все метки)

Составить программу, которая получает матрицу целых чисел Х размером n *n и массив целых, размером n. Если в матрице нет строк, равных массиву целых чисел, то программа формирует новую матрицу, заменив диагональ исходной на массив целых.
Помогите плиз
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2009, 21:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы (C++):

Массивы. Циклические алгоритмы (Заполнить массивы случайными числами, лежащими в интервале 0 до 100) - C++
Доброго дня, уважаемые форумчане, помогите пожалуйста решить задание. Заполнить массивы случайными числами, лежащими в интервале 0 до...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

Многомерные массивы, как перебирать внутренние массивы - C++
Здравствуйте. Такой учебный код и плохо понимаю как перебираются внутренние массивы, может кто пояснит подоходчивее. Именно внутренний...

Попадание точки. Массивы чисел. Массивы записей. - C++
Всем привет. По языкам задали три контрольные на си. Я сам си не знаю, даже не представляю, поэтому очень нужна ваша помощь. ...

Массивы структур и массивы строк - C++
1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте. 2. Распечатать...

индексные массивы и адресные массивы - C++
погитите решить задачу c массивами двумя способами {индексные и адресные} { Вычислить суммы элементов каждой строки матрицы Х(20х20),...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2009, 21:46 #2
то программа формирует новую матрицу, заменив диагональ исходной на массив целых.
Два вопроса:
1. Обязательно создавать новую матрицу, или можно просто заменить диагональ исходной матрицы?
2. Диагональ имеется ввиду главная?
0
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
08.12.2009, 11:20  [ТС] #3
да диагональ главная, и надо имменно новую матрицу создать
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.12.2009, 12:54 #4
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
#include <iostream.h>
#include <windows.h>
 
int main ()
{
    int **X, *mas, **mas_new, n, i,j;
    bool fl=false;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå Г°Г*çìåðГ*îñòü Г¬Г*òðèöû X:";
    cin>>n;
    X=new int*[n]; 
    for(i=0; i<n; i++)
       X[i]=new int[n];
    cout<<"Ââåäèòå ýëåìåГ*ГІГ» Г¬Г*òðèöû X: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>X[i][j];
       }
        cout<<"èñõîäГ*Г*Гї Г¬Г*òðèöГ*"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<X[i][j]<<" ";
          cout<<endl;
        }
    mas=new int[n];
    cout<<"Ââåäèòå ýëåìåГ*ГІГ» Г¬Г*Г±Г±ГЁГўГ* öåëûõ:"<<endl;
    for(i=0; i<n; i++)
    {
        cout<<"["<<i<<"]= ";
        cin>>mas[i];
    }
    for(i=0; i<n && !fl; i++)
    {
        fl=true;
       for(j=0; j<n; j++)
        if(mas[j]!=X[i][j])
            fl=false;
    }
    if(!fl)
    {
        mas_new=new int*[n]; 
        for(i=0; i<n; i++)
            mas_new[i]=new int[n];
        for(i=0; i<n; i++) 
            for(j=0; j<n; j++)
                if(i!=j)
                    mas_new[i][j]=X[i][j];
                else
                    mas_new[i][j]=mas[i];
        cout<<"Ïîëó÷åГ*Г*Г*Гї Г*îâГ*Гї Г¬Г*òðèöГ* "<<endl;
        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
            cout<<mas_new[i][j]<<" ";
            cout<<endl;
        }
    }
    else
        cout<<"ÍîâГ*Гї Г¬Г*òðèöГ* Г*ГҐ ñîçäГ*Г*Г*"<<endl; 
    return 0; 
}
0
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
08.12.2009, 13:44  [ТС] #5
почему то запарывается на ответе. когда ввожу массив целых ни выводит ничего ни новую матрицу ни то что она не создана
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.12.2009, 14:57 #6
Сначало вводим размерность "матрицы целых чисел Х", то есть - n.
Затем вводим элементы "матрицы целых чисел Х, размером n *n".
Затем вводим элементы массива целых, размером n.
Затем смотрим результат.
0
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
08.12.2009, 15:18  [ТС] #7
да это все понятно просто после того как я ввожу значения массива он ничего не выводит

Добавлено через 12 минут
и еще можешь объяснить на чем строиться решение
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.12.2009, 15:49 #8
Цитата Сообщение от Chefer Посмотреть сообщение
после того как я ввожу значения массива он ничего не выводит
Выводит или строку "Новая матрица не создана" (это в том случае, если в матрице есть хоть одна строка, равная массиву целых). Или выводит новый массив (это в том случае, если в матрице нет ни одной строки, равной массиву целых).
Решение строится на задании:
Цитата Сообщение от Chefer Посмотреть сообщение
Составить программу, которая получает матрицу целых чисел Х размером n *n и массив целых, размером n. Если в матрице нет строк, равных массиву целых чисел, то программа формирует новую матрицу, заменив диагональ исходной на массив целых.
- Создаем матрицу целых чисел Х размером n *n, заполняем ее элементами
- Создаем массив целых, размером n, заполняем и его
- Сравниваем массив целых со всеми строками матрицы. Если равных массиву строк нет, то формируем новую матрицу по заданным условиям, если равная строка есть, то просто выводим сообщение "Новая матрица не создана"
0
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
16.12.2009, 17:23  [ТС] #9
спасибо за помощь, тему можно закрыть
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2009, 17:23
Привет! Вот еще темы с ответами:

Массивы структур, массивы векторов - C++
Разработайте тип данных «Вектор в трехмерном пространстве» в виде структуры, поля которой — координаты вектора. Напишите следующие функции:...

Массивы структур и массивы строк - C++
Здравствуйте. Возникла проблема с одной работой: Постановка задачи: 1. Сформировать динамический массив из элементов структурного типа....

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append(&quot;мамa&quot;); ...

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append(&quot;мамa&quot;); ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.12.2009, 17:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru