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

Написать программу, которая позволяет осуществить ввод матрицы произвольного размера

15.05.2010, 21:49. Показов 11971. Ответов 35
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, которая позволяет осуществить ввод матрицы произвольного размера и выполнить следующие операции:
- добавление к данной матрице любого количества столбцов;
- циклическую перестановку местами строк в полученной матрице;
- умножить полученную матрицу на число, введенное с клавиатуры.

Добавлено через 2 минуты
Пишу курсовик на языке Си) вроде начал, но чет не работает.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2010, 21:49
Ответы с готовыми решениями:

Написать программу, которая позволяет осуществить ввод 2-х матриц одинакового размера
Помогите курсовик дали,помогите с началом программы: Написать программу, которая позволяет...

Написать программу транспонирования квадратной матрицы произвольного размера
Написать программу транспонирования квадратной матрицы произвольного размера. Значения элементов...

Необходимо создать программу, которая позволяет осуществить графическое построение генеалогического древа
Необходимо создать программу, которая позволяет осуществить графическое построение ...

Создать программу, которая позволяет осуществить все операции над элементами множеств: пересечение, объединение, разность, проверку эквивалентности и
Создать программу, которая позволяет осуществить все операции над элементами множеств: пересечение,...

35
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 17
05.06.2010, 22:44  [ТС] 21
Author24 — интернет-сервис помощи студентам
т.е. теперь просто после матрицы добавляются столбцы?
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
05.06.2010, 22:45 22
Нет, теперь не просто после матрицы, а именно создаётся новая матрица с новым количеством столбцов. А вы на что рассчитывали?
0
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 17
05.06.2010, 22:59  [ТС] 23
спасибо огромное)
если не сложно, то у меня еще парочка вопросов:
можешь глянуть, где ошибка? мне нужно поменять первую и последнюю строчку местами
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
#include<iostream.h>
#include<conio.h>
 
void main ()
{
 int m,n,i,j,temp;
 cout << "Enter M, N: ";
 cin >> m >> n;
 cout << endl << "Enter " << m*n << " elements of array: ";
 int **a = new int *[m];
 for (i=0; i<m; i++)
  {
   a[i] = new int [n];
   for (j=0; j<n; j++)
   cin >> a[i][j];
  }
 
 
        //vbIvod isxodnogo massiva
        for (i=0; i<m; i++){
                for (j=0; j<n; j++){
                      cout<<a[n][m]<<" ";
                      
                                    }
                                cout<<endl;}
 
        for(i=0; i<1; i++)
                {
                        for (j=0; j<4; j++)
                        {
                temp=a[i][j];
                                a[i][j]=a[m-i][j];
                a[i-m][j]=temp;
                              //  cout<<temp;
                        }
                }
                //vbIvod poluchennogo massiva
                cout<<endl;
        for (i=0; i<m; i++){
                for (j=0; j<n; j++){
                      cout<<a[i][j]<<" ";
                      
                                    }
                                cout<<endl;}
}
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
05.06.2010, 23:02 24
а я думал, что cin и cout в Си не бывает
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
05.06.2010, 23:05 25
fasked, вы правы, как и new и delete
Но мне-то на обозрение предоставили код на Си++, вот я и ответил той же монетой))

Добавлено через 1 минуту
FerMen,
Ошибки нет, просто вы меняете элементы одной-единственной первой строки сами с собой. Чтобы поменять элементы первой и последней строки, нужно сделать следующее:
C++
1
2
3
4
5
6
for (j = 0; j < cols; j++)
{
    temp = matrix[0][j];
    matrix[0][j] = matrix[rows - 1][j];
    matrix[rows - 1][j] = temp;
}
2
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 17
05.06.2010, 23:22  [ТС] 26
C
1
2
3
4
5
6
7
for (j=0; j<4; j++)
{
temp=a[0][j];
a[0][j]=a[m-i][j];
a[m-1][j]=temp;
//  cout<<temp;
}
переделал, все норм, только теперь вместо первой строчки все нули пишет
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
05.06.2010, 23:24 27
a[0][j]=a[m-i][j];
Может всё-таки
a[0][j]=a[m-1][j];
1
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 17
05.06.2010, 23:42  [ТС] 28
ты прав. чет не внимательный я

Добавлено через 15 минут
спасибо тебе большое))
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
05.06.2010, 23:56 29
Цитата Сообщение от silent_1991 Посмотреть сообщение
Чтобы поменять элементы первой и последней строки, нужно сделать следующее:
C++
1
2
3
4
5
6
for (j = 0; j < cols; j++)
{
    temp = matrix[0][j];
    matrix[0][j] = matrix[rows - 1][j];
    matrix[rows - 1][j] = temp;
}
Можно сделать короче (так как matrix[i] - это указатель на i-ю строку)
C++
1
2
3
4
void* t;
t = matrix[0];
matrix[0] = matrix[rows-1];
matrix[rows-1] =  ( int* )t;
Поменять i-ю и j-ю строки
C++
1
2
3
4
5
6
if ( i>=0 && i<rows  && j >=0 && j<rows )
{
    void *t = matrix[i];
    matrix[i] = matrix[j];
    matrix[j] = (int*)t;
}
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
06.06.2010, 00:06 30
А вы знаете, да, что-то я не подумал, что массив динамический... Ведь со статическим так не выйдет, или я ошибаюсь?
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
06.06.2010, 00:07 31
Цитата Сообщение от silent_1991 Посмотреть сообщение
Ведь со статическим так не выйдет, или я ошибаюсь?
ошибаешься, но запись все равно глупая
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
06.06.2010, 00:08 32
fasked,
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
06.06.2010, 00:23 33
Цитата Сообщение от silent_1991 Посмотреть сообщение
Ведь со статическим так не выйдет, или я ошибаюсь?
C++
1
2
    int ar[2][4] = {1, 2, 3, 4, 5, 6, 7, 8};
    ar[0] = ar[1]; //  error C2106: '=' : left operand must be l-value
0
Max_21
07.06.2010, 20:17 34
Написать программу, которая позволяет осуществить ввод матрицы произвольного размера и выполнить следующие операции:
- добавление к данной матрице любого количества строк;
- транспонирование полученной матрицы;
- возведение полученной матрицы в произвольную степень, проверяя возможность выполнения данной операции.
*****************************************************************
Помогите пожалуйста программу написать на С++.....=)))...заранее благодарен)
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
07.06.2010, 20:24 35
Что в вашем понимании означает фраза "помогите написать программу"? В понимании всех людей, исключая тех, кто создает темы на форуме, это означает "я начал писать, но есть вопросы, вот мои наработки и вот то, что у меня не получается". #include <iostream> в качестве наработок не принимается.
0
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 17
07.06.2010, 21:34  [ТС] 36
Цитата Сообщение от Max_21 Посмотреть сообщение
Написать программу, которая позволяет осуществить ввод матрицы произвольного размера и выполнить следующие операции:
- добавление к данной матрице любого количества строк;
- транспонирование полученной матрицы;
- возведение полученной матрицы в произвольную степень, проверяя возможность выполнения данной операции.
*****************************************************************
Помогите пожалуйста программу написать на С++.....=)))...заранее благодарен)
Max_21, а вам случайно еще вот этого не надо???
Использовать массивы динамической памяти, функции, указатели
0
07.06.2010, 21:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2010, 21:34
Помогаю со студенческими работами здесь

Написать программу, которая позволяет нарисовать закрашенный треугольник
Задание 4. Написать программу, которая позволяет нарисовать закрашенный треугольник. ...

Написать программу, которая позволяет вводить целочисленную матрицу
1) Написать программу, которая позволяет вводить одномерный целочис-ленный массив из 10 элементов и...

Написать программу, которая позволяет получит следующую информацию
Написать программу, которая позволяет получит следующую информацию: - всю программу телепередач...

Написать программу, которая позволяет просматривать текстовые файлы
Написать программу, которая позволяет просматривать текстовые файлы...


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

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