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

Заполнение матрицы по спирали! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение данных из файла и операции над ними http://www.cyberforum.ru/cpp-beginners/thread768074.html
В файле input непрерывно размещены некоторые цифры Непрерывную совокупность чисел назовем числом Требуется написать программу на языке С++, которая возведет данное число в степень N Количество цифр в числе не более тысячи буду благодарен за помощь :3
C++ Обнулить строки с четным количеством нечетных элементов Задача такая: Обнулить строки с четным количеством нечетных элементов. Что то я не разберусь с этим заданием, и в конце выдает такую ошибку:"Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted." не пойму, за ранее спасибо!:) // 159.cpp: #include "stdafx.h" #include <iostream> #include <time.h> using namespace std; int main() { const int n= 4, m=4; http://www.cyberforum.ru/cpp-beginners/thread768073.html
C++ Пирамидальная сортировка
Данная сортировка меня загнала в ступор. Я не могу её понять до конца. Помогите, пожалуйста. Ниже мой исходник пирамидальной сортировки. Он работает не верно. Я не могу найти косяк, т.к. не догоняю чего не хватает. На словах алгоритм такой: Создаю двоичное дерево по принципу, чтоб i был больше i * 2 и i * 2 + 1. Далее начинаю сортировку по тому же принципу, как и создавал двоичное дерево,...
C++ Выбор(будет ли сложно изучать два языка Си и СИ++)
доброго дня. будет ли сложно изучать два языка (Си и СИ++). имею ввиду в том смысле, что в своем учебном заведении мне предстоит изучать язык Си, а мне хотелось бы ко всему этому изучить еще такую вещь как Си++(более основательно, чем си), в связи с этим назрел вопрос: будет ли слишком сложно "переключаться" между этими 2мя языками, и слтшком ли отличаются функции, синтаксис Си и Си++? надеюсь...
C++ Что это значит: *(void**)ReturnValue) = hHeap; ? http://www.cyberforum.ru/cpp-beginners/thread768056.html
Вот честно, не могу понять что значит вторая строчка кода: void* ReturnValue = (void*) HeapAlloc((HANDLE) hHeap, HEAP_GENERATE_EXCEPTIONS | HEAP_NO_SERIALIZE | HEAP_ZERO_MEMORY, count + sizeof(void*) ); *((void**)ReturnValue) = hHeap; Если написать: *ReturnValue = hHeap; , то появляется ошибка: "error C2100: недопустимое косвенное обращение". Так чем вышепревиденное извращение с...
C++ Разъясните непонятку по языку c++ 1) string в stl - это обертка над *char? 2)char - обычно составляет 1 байт и вмещает в себя acsii-кодировку wchar-t - расширенный char и хранит разные значения в зависимости от компилятора. вопрос: какой мне надо объявить тип, чтобы был UTF-8? (как string в c#). И при этом чтобы он на всех платформах отображал одинаковые символы 3)так-же в разных системах, базовые типы имеют разный... подробнее

Показать сообщение отдельно
Павел1994
Сообщений: n/a
21.01.2013, 17:38     Заполнение матрицы по спирали!
Программа, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, … n2, записывая их в нее «по спирали».
Например, для n=5 получаем следующую матрицу:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
Вот есть программка ниже ток надо доделать что бы int const n=5; задавал я в командной строке. Пример:
введите n
*я ввожу* 5
и получаю вышеописанную матрицу


Помогите плиз, чет ни фига не получается)))
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
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
 
int main()
{
 
int const n=5;
 int A[n][n];
 int i=1,j,k,p=n/2;
 for(k=1;k<=p;k++)/*Цикл по номеру витка*/
 {
 for (j=k-1;j<n-k+1;j++)
     A[k-1][j]=i++;/*Определение значений верхнего горизонтального столбца*/
 for (j=k;j<n-k+1;j++)
     A[j][n-k]=i++;/* --//-- По правому вертикальному столбцу*/
 for (j=n-k-1;j>=k-1;--j)
     A[n-k][j]=i++;/* --//-- по нижнему горизонтальному столбцу*/
 for (j=n-k-1;j>=k;j--)
     A[j][k-1]=i++;/* --//-- по левому вертикальному столбцу*/
 }
 if (n%2==1)
     A[p][p]=n*n;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
  {
   printf(" %4d ",A[i][j]);
   if(j==n-1)
     printf("\n");
  }
 
    getche( );
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru