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

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

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

Массивы - C++

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

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

Даны массивы а и b. Получить новые массивы a и b, элементы которых вычисляются по правилу: ai=bi, bi= -ai - Pascal
Даны массивы а и b, состоящие из n-элементов каждый. Получить новые массивы a и b, элементы которых вычисляются по правилу: ai=bi, bi=...

Даны массивы A(8), F(8),Q(8). Сформировать массивы С(8), каждый элемент которого вычисляется по формуле - Pascal ABC
uses crt; type mas=array of integer; var A,F,Q,C:mas; i,s:integer; begin clrscr; writeln('Массив первый:'); for i:=1...

Упорядочить массивы по по убыванию, потом соединить массивы в один упорядоченный массив - C (СИ)
Начала писать, запуталась Даны два одномерных массива состоящие из 10 целых чисел. Упорядочить массивы по по убыванию, потом соединить...

Табулирование функции и поиск данных. Одномерные массивы. Двумерные массивы - C#
Вычислить сумму первых четырех отрицательных элементов. В соответствии с п. 5.16 правил "Запрещено создавать темы с множеством...

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

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

Файлы. Компоненты - массивы чисел. Переформировать файл, где сначала идут массивы с положительными макс. элементами - Turbo Pascal
Здравствуйте!! я пишу такую задачу: нужно написать две программы, одна из них создает файл, где компоненты - массивы вещ. чисел; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2009, 21:46     Массивы #2
то программа формирует новую матрицу, заменив диагональ исходной на массив целых.
Два вопроса:
1. Обязательно создавать новую матрицу, или можно просто заменить диагональ исходной матрицы?
2. Диагональ имеется ввиду главная?
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
08.12.2009, 11:20  [ТС]     Массивы #3
да диагональ главная, и надо имменно новую матрицу создать
valeriikozlov
Эксперт C++
4669 / 2495 / 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; 
}
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
08.12.2009, 13:44  [ТС]     Массивы #5
почему то запарывается на ответе. когда ввожу массив целых ни выводит ничего ни новую матрицу ни то что она не создана
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.12.2009, 14:57     Массивы #6
Сначало вводим размерность "матрицы целых чисел Х", то есть - n.
Затем вводим элементы "матрицы целых чисел Х, размером n *n".
Затем вводим элементы массива целых, размером n.
Затем смотрим результат.
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
08.12.2009, 15:18  [ТС]     Массивы #7
да это все понятно просто после того как я ввожу значения массива он ничего не выводит

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

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

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

.NET 4.x Создать массив, содержащий массивы, которые, в свою очередь, содержат массивы, в которых уже будут храниться различные типы данных - C#
Мне нужно создать массив, содержащий массивы, которые, в свою очередь, содержат массивы, в которых уже будут храниться различные типы...

Статические массивы,Динамические массивы,строки - Delphi
1)Создать двумерный массив A(N,M) целых положительных и отрицательных чисел с помощью функции Random. Найти произведение всех четных...


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

Или воспользуйтесь поиском по форуму:
Chefer
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 24
16.12.2009, 17:23  [ТС]     Массивы #9
спасибо за помощь, тему можно закрыть
Yandex
Объявления
16.12.2009, 17:23     Массивы
Ответ Создать тему
Опции темы

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