Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать сумму элементов, расположенных на побочной диагонали в целочисленном массиве https://www.cyberforum.ru/ cpp-beginners/ thread1338633.html
Доброго времени суток. Ув. форумчане, помогите, пожалуйста с задачкой: нужно подсчитать сумму элементов, расположенных на побочной диагонали в целочисленном массиве размерности n*n. Я...
Все узлы односвязного списка, содержащие отрицательные значения, переместить в конец C++
Помогите написать программу,пожалуйста Тема:Линейные однонаправленные списки C++ Построить односвязный список из входной последовательности чисел. Затем все узлы, содержащие отрицательные значения...
C++ Класс "Матрица". Перегрузка оператора "минус" https://www.cyberforum.ru/ cpp-beginners/ thread1338627.html
Помогите дописать программу или исправить ее. Нужно было написать программу, где создать класс матрицы, используя двухмерный динамический массив, и перегрузить оператора минус. Вроде все правильно,...
C++ Контроль памяти https://www.cyberforum.ru/ cpp-beginners/ thread1338625.html
Подскажите. Надо ли после удаления столбца освобождать память и как это сделать? Думаю, всё-таки надо. Создавать новый двумерный массив и копировать туда оставшиеся данные после удаления? O_o void...
Найти среди чисел такое, которое при перестановке его цифр давало бы наибольшее число C++
Дана строка содержащая десятичные цифры (вводиться с клавиатуры). Разрядность может достигать 20 цифр.Найти среди них такое число, которое при перестановке его цифр давало бы наибольшее число. ...
C++ Морской бой С++ Помогите пожалуйста.Нужно сделать так,чтобы обрисовало выстрелами все(вокруг убитого корабля) #include <iostream> #include <stdlib.h> #include <stdio.h> #include <ctime> #include <conio.h>... https://www.cyberforum.ru/ cpp-beginners/ thread1338618.html
C++ Не читает файл в папке дебаг. Уже везде его пихал, а программа не работает https://www.cyberforum.ru/ cpp-beginners/ thread1338611.html
#include <iostream> #include <fstream> //#include <chrono> #include <string> using namespace std; class EmptyQueueException{ string text; public: EmptyQueueException(){}
Случайные значения в массиве int C++
Здравствуйте, возникла такая проблема - присваиваются случайные значения массиву. Все значения с помощью цикла изначально обнулял - ноль результата. Пишу в CodeBlocks. Выскакивает значение одно и...
C++ Сумма элементов первой и последней строчки матрицы с использованием динамического выделения памяти Количество строк и столбцов задается пользователем с клавиатуры. Элементы матрицы разместить в динамической памяти. Вычислить и сохранить суммы элементов первой и последней строки, вывести их на... https://www.cyberforum.ru/ cpp-beginners/ thread1338596.html C++ Удаление столбца динамического массива, контроль памяти Надо ли после удаления столбца освобождать память и как это сделать? Думаю, всё-таки надо. Создавать новый двумерный массив и копировать туда оставшиеся данные после удаления? :help: void f3(int... https://www.cyberforum.ru/ cpp-beginners/ thread1338594.html
Как перевести с Java на C++? C++
void sum() { int array = {1, -3, 5, 4, 8, -1, 9, 0 -4, 5, 6}; int indexStart = 0, indexEnd = 0; for (int i = 0; i < array.length; i++) { if (array < 0) { indexStart = i;...
C++ Число изменений знака (переходов через нуль) числовой последовательности. Индуктивные функции https://www.cyberforum.ru/ cpp-beginners/ thread1338563.html
Число изменений знака (переходов через нуль) числовой последовательности, f:\Omega (Z)\rightarrow N0 . Даже не знаю с чего начать. Sup pls Добавлено через 51 минуту Уже сам все сделал
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209
0

Вывести содержимое файла в матрицу по спирали против часовой стрелки - C++ - Ответ 7024604

23.12.2014, 23:18. Показов 1222. Ответов 2
Метки (Все метки)

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

Добавлено через 22 часа 27 минут
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
66
67
68
#include <fstream>
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    int i,j;
    char str[4];// ñèìâîëüíûé ìàññèâ  ïðîìåæóòî÷íîãî õðàíåíèÿ ñ÷èòûâàåìîãî èç ôàéëà òåêñòà äëÿ ïîëó÷åíèÿ ðàçìåðíîñòè
    char strg[100];// ñèìâîëüíûé ìàññèâ  ïðîìåæóòî÷íîãî õðàíåíèÿ ñ÷èòûâàåìîãî èç ôàéëà òåêñòà äëÿ ïîëó÷åíèÿ âñåõ ñèìâîëüíûõ ýëåìåíòîâ
    ifstream fin("F:\\cppstudio.txt"); // îòêðûëè ôàéë äëÿ ÷òåíèÿ
    fin.get(str, 4);//ñ÷èòàëè òðè ñèìâîëà èç ôàéëà
    fin.get(strg,26);
    cout << strg << endl;
    int n = atoi(str);//ïðåîáðàçîâàëè ýòè ñèìâîëû ñ ïîìîùüþ ôóíêöèè â  öåëîå ÷èñëî
    cout << n << endl;//íàïå÷àòàëè ýòî ÷èñëî
    //cout << strg << endl;
    char mat[n][n];
    int l=0;
    int k=0;
    for(int i1=0; i1<n; i1++) 
    {
        for(int i2=0; i2<n; i2++) 
        {
            mat[i1][i2] = 0;
        }
    }
    int vert = 0;//øàã ïî âåðòèêàëè 
    int horiz = 1;//øàã ïî ãîðèçîíòàëè
    int x=0, y=0; //òåêóùèå êîîðäèíàòû
    for(int i = 1; i <= n*n; i++) 
    {
        mat[x][y] = strg[l];
        l++;
        if((mat[x+vert][y+horiz] > 0)|| (x+vert == -1)|| (x+vert == n)|| (y+horiz == -1)|| (y+horiz == n)) 
        {
            if((vert==0)&&(horiz==1)) 
            {
                vert = 1;
                horiz = 0;
            } 
            else if((vert==1)&&(horiz==0))
            {
                vert = 0;
                horiz = -1;
            } else if((vert==0)&&(horiz==-1)) 
            {
                vert = -1;
                horiz = 0;
            } 
            else if((vert==-1)&&(horiz==0)) 
            {
                vert = 0;
                horiz = 1;
            }
        }
        x += vert;
        y += horiz;
    }
    for(x=0; x<n; x++) {
        for(y=0; y<n; y++) {
            cout << mat[x][y] << ' ';
        }
        cout << endl;
    }
    fin.close(); // çàêðûâàåì ôàéë
    system("pause");
    return 0;
}
подскажите пожайлуйста как сделать так,чтобы выводилось содержимое файла,начиная не с первой ячейки, а из центра , а в первой ячейке было не начало а конец,то есть ыводить по спирали ,нчиная с центра против часовой стрелки

Добавлено через 26 минут
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
66
67
68
69
70
71
72
73
#include <fstream>
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    int i,j;
    char str[4];// ñèìâîëüíûé ìàññèâ  ïðîìåæóòî÷íîãî õðàíåíèÿ ñ÷èòûâàåìîãî èç ôàéëà òåêñòà äëÿ ïîëó÷åíèÿ ðàçìåðíîñòè
    char strg[100];// ñèìâîëüíûé ìàññèâ  ïðîìåæóòî÷íîãî õðàíåíèÿ ñ÷èòûâàåìîãî èç ôàéëà òåêñòà äëÿ ïîëó÷åíèÿ âñåõ ñèìâîëüíûõ ýëåìåíòîâ
    ifstream fin("F:\\cppstudio.txt"); // îòêðûëè ôàéë äëÿ ÷òåíèÿ
    fin.get(str, 4);//ñ÷èòàëè òðè ñèìâîëà èç ôàéëà
    fin.get(strg,26);
    cout << strg << endl;
    int n = atoi(str);//ïðåîáðàçîâàëè ýòè ñèìâîëû ñ ïîìîùüþ ôóíêöèè â  öåëîå ÷èñëî
    cout << n << endl;//íàïå÷àòàëè ýòî ÷èñëî
    //cout << strg << endl;
    char mat[n][n];
    int l=0;
    int k=0;
    for(int i1=0; i1<n; i1++) 
    {
       for(int i2=0; i2<n; i2++) 
        {
            mat[i1][i2] = 0;
        }
    }
    int vert = 0;//øàã ïî âåðòèêàëè 
    int horiz = -1;//øàã ïî ãîðèçîíòàëè
    int x=0,y=0;
    //int x=n/2, y=(n+1)/3; //òåêóùèå êîîðäèíàòû
    for(int i = 1; i <= n*n; i++) 
    {
    
        mat[x][y] = strg[l];
        l++;
        if((mat[x+vert][y+horiz] !=0)|| (x+vert ==- 1)|| (x+vert == n)|| (y+horiz == -1)|| (y+horiz == n)) 
        {
            if((vert==0)&&(horiz==-1)) 
            {
                vert = 1;
                horiz = 0;
            } 
            else 
            if((vert==1)&&(horiz==0))
            {
                vert = 0;
                horiz = 1;
            } else 
            if((vert==0)&&(horiz==1)) 
            {
                vert = -1;
                horiz = 0;
            } 
            else 
            if((vert==-1)&&(horiz==0)) 
            {
                vert = 0;
                horiz = -1;
            }
        }
        x += vert;
        y += horiz;
    }
    for(x=0; x<n; x++) {
        for(y=0; y<n; y++) {
            cout << mat[x][y] << ' ';
        }
        cout << endl;
    }
    fin.close(); // çàêðûâàåì ôàéë
    system("pause");
    return 0;
}
вот сделала против часовой стрелки вывод,но теперь мне надо чтобы начиналось заполнение от центра (подскажите что нужно изменить)

Вернуться к обсуждению:
Вывести содержимое файла в матрицу по спирали против часовой стрелки C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2014, 23:18
Готовые ответы и решения:

Заполнить матрицу по спирали против часовой стрелки
помогите поменять циклы в коде и сделать такую спираль: 1 32 31 30 29 28 27 26 25 2 33 56 55 54...

Записать текст матрицы от ее центра по спирали против часовой стрелки
Задача записать текст квадратной матрицы размера n(n-нечетное) от центра матрицы по спирали против...

Заполнить матрицу по спирали против часовой стрелки
Ребят,помогите пожалуйста. Нужно заполнить матрицу числами по спирали против часовой стрелки....

Заполнить матрицу множеством натуральных чисел по спирали против часовой стрелки
заполнить матрицу NxN множество натуральных чисел по спирали против часовой стрелке по VBA

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2014, 23:18
Помогаю со студенческими работами здесь

Массив: Заполнить квадратную матрицу порядка n, записывая элементы в нее по спирали против часовой стрелки
Составить программу которая заполняет квадратную матрицу порядка n натуральными числами...

Заполнить матрицу по спирали, начинающейся в левом верхнем углу, против часовой стрелки (+ блок схема)
Матрицу m x n заполнить натуральными числами от 1 до mn по спирали, начинающейся в левом верхнем...

Перемещаясь против часовой стрелки, вывести все элементы матрицы по спирали
Matrix16. Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и...

Паскаль, графика. Движущийся шар по спирали по часовой и против часовой стрелки
Здравствуйте, простые пользователи просторов интернета и продвинутые магистры паскаля :) Огромная...

Начиная с первого элемента и перемещаясь против часовой стрелки, вывести все элементы матрицы по спирали
Дана квадратная матрица A порядка M (M — нечетное число). Начиная с первого элемента и перемещаясь...

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru