Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
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
24.12.2014, 21:04  [ТС] 0

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

24.12.2014, 21:04. Показов 1222. Ответов 2
Метки (Все метки)

Ответ

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;
}
а как вот условие это переделать,чтобы с центра начиналось,не знаете?

Добавлено через 56 минут
а как можно это сделать с помощью цикла for?

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

Заполнить матрицу по спирали против часовой стрелки
помогите поменять циклы в коде и сделать такую спираль: 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
24.12.2014, 21:04
Помогаю со студенческими работами здесь

Массив: Заполнить квадратную матрицу порядка 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