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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
DjaFaR74
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 47
#1

создать квадратную матрицу... - C++

01.12.2011, 10:46. Просмотров 1518. Ответов 5
Метки нет (Все метки)

С помощью динамического распределения памяти создать квадратную матрицу целых чисел, размерность матрицы вводится с клавиатуры. Заполнить матрицу случайными числами из диапазона 0 - 99. Отобразить один сектор матрицы на другой зеркально, как показано на рисунке. Исходную и преобразованную матрицы вывести на экран. Решение задачи должно быть оформлено в виде функции, которой передается матрица и ее размерность.
0
Миниатюры
создать квадратную матрицу...  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2011, 10:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос создать квадратную матрицу... (C++):

Создать квадратную матрицу - C++
Составить и отладить программу, которая создает (в памяти ЭВМ) квадратную матрицу порядка n (n задавать константой).

Создать квадратную матрицу - C++
Составить и отладить программу, которая создает (в памяти ЭВМ) квадратную матрицу порядка n (n задавать константой).

Создать квадратную матрицу порядка n - C++
Создать квадратную матрицу порядка n

Создать квадратную матрицу порядка n - C++
Создать квадратную матрицу порядка n.

Создать квадратную матрицу с условием. С++ - C++
Создать квадратную матрицу, расположить числа натурального ряда по направлению стрелки, на других позициях елементы равны нулю. Нужен код...

Дано натуральное n. Создать квадратную матрицу A - C++
не могу разобраться(((( подскажите как?

5
Байт
Эксперт C
16145 / 10423 / 1552
Регистрация: 24.12.2010
Сообщений: 19,736
01.12.2011, 11:41 #2
DjaFaR74, В чем сложность?
Если в том, как выделить динамическую память для матрицы, то вот один из вариантов (довольно стандартный прием)
C
1
2
3
4
int **m;
m = (int **) malloc(N*sizeof(int *));
for(j=0; j<N; j++) m[j] = (int *)malloc(N*sizeof(int));
// После этого к элементам матрицы можно обращаться обычным образом m[i][j]
Все остальное еще более тривиально.
Если будут сложности, пошукай по форуму, таких задач тут тьма.
2
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
01.12.2011, 13:05 #3
Цитата Сообщение от Байт Посмотреть сообщение
Все остальное еще более тривиально.
это точно:
C++
1
2
3
        for(i=0; i<n/2; i++)
            for(j=i+1; j<n-i-1; j++)
                m[i][j]=m[j][i];
1
DjaFaR74
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 47
02.12.2011, 21:36  [ТС] #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
#include "stdafx.h"
#include <iostream>
#include"StdAfx.h"
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <iomanip>
 
 
int main(){
 
    int j, i, N;
    printf ("Enter number \n");
    scanf (N);
    
    int nStartValue = time(NULL);   //задаем переменную времени для случайного числа
    srand(nStartValue);
 
    int *mas;                       //задаем массив
    mas = (int*)malloc(N*sizeof(int*));         //выделяем размер для массива
    printf("_____________________________________________________________ \n");     //для оформления я делаю такую штуку
 
    for(i=0; i<N ; ++i){        
        for(j=0; j<N; ++j){
            mas[i][j] = rand()%99;              //Заполняем случайными числами
            printf("%d ",mas[i][j]);            //выводим
        }   
        printf("\n");
    }
printf("_____________________________________________________________ \n");
 
    for(int i=0; i<N ; ++i){        
        for(int j=0; j<N; ++j){ 
             if((i<=N/2) && (i<=j) && (i<=N-j-1)){              
                mas[i][j] = mas[j][i] ;             // здесь я разобраться не могу как мне перенести из правой части в верхнюю
            }
        }
    }
    for (i=0; i<N ; ++i){       
        for(j=0; j<N; ++j){
            printf("%d ",mas[i][j]);            //выводим
        }   
        printf("\n");
    }
    printf("_____________________________________________________________ \n");
    void free(*mas);
    system("pause");
    return 0;
}
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2011, 22:59 #5
Цитата Сообщение от DjaFaR74 Посмотреть сообщение
scanf (N);
Это объясняет название темы. Один совет: лучше начните с нуля учить язык.
2
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
03.12.2011, 10:28 #6
scanf (N);
scanf( "%d", &N );
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2011, 10:28
Привет! Вот еще темы с ответами:

Используя функции создать квадратную матрицу - C++
Всем доброго времени суток! Помогите разобраться как решить данное задание: &quot;Написать, используя функции, программу, которая создает...

Сформировать квадратную матрицу; транспонировать матрицу и инвертировать порядок элементов каждой ее строки - C++
Заданы два одномерных массива одинаковой длины: R и S.Сформировать квадратную матрицу A, каждый элемент которой, что находится в i-той...

Сформировать квадратную матрицу - C++
помогите пожалуйста написать программу на С++, очень сложно, не могу разобраться во всем интернете вообще ничего нет абсолютно(( надеюсь на...

Сформировать квадратную матрицу - C++
помогите пожалуйста разобраться с задачей не совсем понимаю как ее делать, знаю только что тут двухмерный массив будет... Сформировать...


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

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

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