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

Текст записывается в квадратную матрицу, а затем прочитывается по спирали, начиная с центра - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции в C++. http://www.cyberforum.ru/cpp-beginners/thread546347.html
Здравствуйте. Написал код программы, что-то на подобии базы данных библиотеки. Но мне нужно код переписать с использованием функций. Как создавать и работать с фуекциями я знаю, но затрудняюсь с тем, как и что нужно возвращать из функции. Нужны функции для всех действий над каталогом т.е. для поиска, добавления, редактирование и т.д. Подскажите, как мне правильно и что именно мне возвращать в...
C++ Вывод константы long double Доброго времени суток! Учусь программировать на С++ и возникла такая проблема: есть константа 6.626068E-034. я назначил тип long double. При выводе она округляется до 6.62607E-034. Вопрос: можно ли вывести её без округления и как это сделать? З Ы Если нет, то зачем в файле cmath задано значение пи 3.14159265358979323846 ? http://www.cyberforum.ru/cpp-beginners/thread546345.html
C++ Тройное равенство в списке
Здраствуйте, в программе создается динамический односвязный кольцевой список. Для этого создана структура с двумя "ячейками": ELEM где сам элемент и Next где адрес на следущий элемент. pEND=pPRED=pTEK; не понимаю значения этой строчки, pEND pPRED pTEK относятся к структуре. Что в них приравнивается и чему? Каждая "ячейка" каждой или..? Спасибо заранее за помощь.
Замена цифр в числе C++
Здравствуйте, помогите с заданием: Дано натуральное число n, заменить в нем цифры 3,5,7 на 4,6,8 соответственно. На паскале писала подобную программу, она у меня есть (если нужно могу выложить), но вот что-то под с++ переделать не получилось(
C++ Шаблон класса «Комплексное число» http://www.cyberforum.ru/cpp-beginners/thread546306.html
Помогите пожалуйста исправить ошибки в программе Задание :Создать шаблон класса «Комплексное число» – Complex. Класс должен содержать несколько конструкторов и операции для сложения, вычитания, умножения, деления, присваивания. Создать два вектора размерности n из комплексных координат. Передать их в функцию, которая выполняет сложение комплексных векторов. Программа: #include <iostream>...
C++ Вывести слова в порядке, соответствующем латинскому алфавиту Дана строка символов, состоящих из произвольного текста на английском языке, слова разделены пробелом. Вывести на экран слова этого текста в порядке, соответствующем латинскому алфавиту. подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
15.04.2012, 09:01     Текст записывается в квадратную матрицу, а затем прочитывается по спирали, начиная с центра
Записать текст в матрицу X(n,n) не получится, потому что в этом случае количество
строк текста, записываемого в матрицу должено быть равно колличеству символов
в каждой строке.

Пожалуйста уточните постановку задачи.

Код на С++ получения исходной последовательности OUT(n * n) из элементов матрицы X(n,n)
считываемых в виде спирали я сделал, и кину его в одном из след. постов.

Добавлено через 16 минут
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
    
#include <stdio.h>
#include <conio.h>
 
#define N 5
 
int main(void)
{
    int X[N][N] = { { 1, 2, 4, 7, 3 },
                    { 3, 9, 2, 9, 5 },
                    { 5, 6, 4, 6, 1 },
                    { 8, 9, 7, 4, 6 },
                    { 5, 1, 3, 2, 4 } };
 
    int* out = new int[N * N - 1];
    memset((void*)out, 0x00, sizeof(int) * (N * N - 1));
 
    int n = 0;
    for (int r = 1; r <= N / 2; r++)
    {
        for (int z1 = (N / 2 - r) + 1; z1 <= N / 2 + r; z1++)
            out[n++] = X[N / 2 - r][z1];
 
        for (int z2 = (N / 2 - r) + 1; z2 <= (N / 2 + r) - 1; z2++)
            out[n++] = X[z2][N / 2 + r];
 
        for (int z3 = N / 2 + r; z3 >= (N / 2 - r) + 1; z3--)
            out[n++] = X[N / 2 + r][z3];
 
        for (int z4 = N / 2 + r; z4 >= N / 2 - r; z4--)
            out[n++] = X[z4][N / 2 - r];
    }
 
    for (int i = 0; i < N * N - 1; i++)
        printf("%d ",out[i]);
    printf("\n");
}
 
Текущее время: 13:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru