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

Двумерный массив - C++

Восстановить пароль Регистрация
 
AHTuBuPyC
0 / 0 / 0
Регистрация: 16.01.2010
Сообщений: 4
16.01.2010, 04:06     Двумерный массив #1
Доброго времени суток! Помогите плиз с условием... не могу понять как сделать...

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

Сделал чтобы размерность матрицы вводил пользователь и сам ручками заполнял ее поэлементно... Так же сделал вывод матрицы на экран... как доделать последнее условие? - Определить является ли заданная матрица симметричной относительно главной диагонали.

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
#include "stdafx.h"
#include "locale.h"
#include "time.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    int i, j, n, m, **a, temp=0;
    srand(time(NULL));
    printf("Введите количество строк массива:");
    scanf("%d",&n);
    printf("Введите количество столбцов:");
    scanf("%d",&m);
 
    a = (int **) malloc(n * sizeof(int *));
    for(i = 0; i<n; i++)
        a[i] = (int *) malloc(m * sizeof(int));
    for(i = 0; i<n; i++)
        for(j = 0; j<m; j++)
        {
             printf("Введите A[%d][%d]:",i ,j);
             scanf("%d",&a[i][j]);
        }
    for(int i=0;i<n;i++,std::cout<<std::endl)
                for(int j=0;j<m;j++)
                        std::cout<<a[i][j]<<" ";
        std::cout<<std::endl;
 
        if(...);
                printf("\nМатрица симметрична относительно главной диагонали\n"); 
        else  printf("\nМатрица НЕ! симметрична относительно главной диагонали\n");
    return 0;
}
Добавлено через 12 минут
Если есть желающие помочь... то есть еще одна лаба... Здесь у меня просто вынос мозга... помогите...

Написать программу, которая считывает текст из файла и заменяет первую букву каждого слова длиной более 3-х символов на заглавную. Вывести на экран: а) получившийся текст, б) список слов в алфавитном порядке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2010, 04:06     Двумерный массив
Посмотрите здесь:

Двумерный массив C++
Двумерный Массив C++
Двумерный массив C++
Двумерный массив C++
двумерный массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
16.01.2010, 04:42     Двумерный массив #2
Вот пример для
Цитата Сообщение от AHTuBuPyC Посмотреть сообщение
Определить является ли заданная матрица симметричной относительно главной диагонали.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 main()
{
 
int i,j,flag;
float C[3][3];
printf ("Vvedite elementi massiva C(5,5) \n");
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf ("%f",&C[i][j]);
for (i=0;i<3;i++)// проверка на симметричность
for (j=0;j<3;j++)
if (C[i][j]!=C[j][i])
flag=1;
if (flag==1) printf ("Massiv C[5][5] ne simmetrichen");
else printf ("Massiv C[5][5] simmetrichen");
getch();
}
Тока под себя измени эт не сложно

Добавлено через 10 минут
http://www.cyberforum.ru/cpp-beginne...read57383.html
Здесь вывод в алф порядке, в последне посте темы рабочая прога

Цитата Сообщение от AHTuBuPyC Посмотреть сообщение
Написать программу, которая считывает текст из файла и заменяет первую букву каждого слова длиной более 3-х символов на заглавную
А эт сложнее, поищи по форуму или в нете мож че попадется ну и я если че попробую, но в данном вопросе результат не гарантирую
AHTuBuPyC
0 / 0 / 0
Регистрация: 16.01.2010
Сообщений: 4
16.01.2010, 04:48  [ТС]     Двумерный массив #3
После вывода матрицы на экран, ничего не происходит...

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
#include "stdafx.h"
#include "locale.h"
#include "time.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    int i, j, n, m, **a, temp=0, flag;
    srand(time(NULL));
    printf("Введите количество строк массива:");
    scanf("%d",&n);
    printf("Введите количество столбцов:");
    scanf("%d",&m);
 
    a = (int **) malloc(n * sizeof(int *));
    for(i = 0; i<n; i++)
    a[i] = (int *) malloc(m * sizeof(int));
    for(i = 0; i<n; i++)
    for(j = 0; j<m; j++)
    {
       printf("Введите A[%d][%d]:",i ,j);
       scanf("%d",&a[i][j]);
    }
     for(int i=0;i<n;i++,std::cout<<std::endl) // блок вывода матрицы
                for(int j=0;j<m;j++)
                        std::cout<<a[i][j]<<" ";
        std::cout<<std::endl;
    scanf ("%f",&a[i][j]); // считываю повторно матрицу... 
    for (i=0; i<n; i++) // условия симметричности... 
    for (j=0; j<m; j++)
    {
        if (a[i][j] != a[j][i])
        flag=1;
        if (flag==1) printf ("\nМатрица НЕ! симметрична относительно главной диагонали\n");
        else printf ("\nМатрица симметрична относительно главной диагонали");
    }
    return 0;
}
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
16.01.2010, 05:15     Двумерный массив #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
//#include "stdafx.h"
#include "locale.h"
#include "time.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
 
 
main()
{
        setlocale(LC_ALL, "Russian");
        int i, j, n, m, **a, temp=0, flag;
        srand(time(NULL));
        printf("Ââåäèòå êîëè÷åñòâî ñòðîê Г¬Г*Г±Г±ГЁГўГ* strok:");
        scanf("%d",&n);
        printf("Ââåäèòå êîëè÷åñòâî ñòîëáöîâstolbcov:");
        scanf("%d",&m);
 
        a = (int **) malloc(n * sizeof(int *));
        for(i = 0; i<n; i++)
    a[i] = (int *) malloc(m * sizeof(int));
        for(i = 0; i<n; i++)
    for(j = 0; j<m; j++)
    {
       printf("Ââåäèòå A[%d][%d]:",i ,j);
       scanf("%d",&a[i][j]);
    }
         for(int i=0;i<n;i++,std::cout<<std::endl) // áëîê âûâîäГ* Г¬Г*òðèöû
                for(int j=0;j<m;j++)
                        std::cout<<a[i][j]<<" ";
        std::cout<<std::endl;
       // scanf ("%f",&a[i][j]); // ñ÷èòûâГ*Гѕ ïîâòîðГ*Г® Г¬Г*òðèöó... 
        for (i=0; i<n; i++) // óñëîâèÿ ñèììåòðè÷Г*îñòè... 
        for (j=0; j<m; j++)
                if (a[i][j] != a[j][i])
                flag=1;
                if (flag==1) printf ("\nNot\n");
                else printf ("\n Yes");
        
        cin.get();
        cin.get();
}
Только выводы на русские замени, а то у меня англ только отображается и я часть русских сообщений поудалял
Yandex
Объявления
16.01.2010, 05:15     Двумерный массив
Ответ Создать тему
Опции темы

Текущее время: 01:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru