Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Не знаю как обратиться к переменной https://www.cyberforum.ru/ cpp-beginners/ thread1368671.html
есть такой код class a{ public int q; }; class b{ public a r; }; int main(){ b test;
C++ Задача на программирование и теорию вероятностей
Требуется написать фрагмент тела функции, который присваивает переменным a, b и c такие случайные целые значения, которые удовлетворяют всем следующим условиям: 3a + b + 6c = 12, −100 < a < 100, −300 < b < 300, −500 < c < 500, причём необходимо, чтобы все допустимые наборы значений (a; b; c) были равновероятны. Пусть требуемая функция имеет следующий вид: void function() { int a,b,c;...
C++ Метод хорд, бесконечный цикл Здравствуйте! Нужна помощь по реализации метода хорд. Писал код по блок-схеме, все внимательно проверил, вроде бы ошибок нет, но получается бесконечный цикл. Мучаюсь уже второй день, если кто-нибудь укажет на ошибку буду благодарен. Код: // Lab2.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" https://www.cyberforum.ru/ cpp-beginners/ thread1368638.html C++ Иттератор map https://www.cyberforum.ru/ cpp-beginners/ thread1368633.html
for (auto i = keymap.begin(); i != keymap.end(); i++){ int j = ((i->second) / sumkey)*sum; auto tmp = find_value(mytextmap.begin(), mytextmap.end(), j); while (tmp->second != j) { j--; tmp = find_value(mytextmap.begin(), mytextmap.end(), j); } key = i->second; keymap.erase(i);
перечисления enum C++
#include <iostream> #include <fstream> #include <string> using namespace std; int main() { setlocale(LC_ALL, "Russian"); struct phonebook {
C++ Провести сортировку по возрастанию отрицательных чисел в нечетных строках Условие задачи. Дан целый массив максимальной размерности 20*20. Провести сортировку по возрастанию отрицательных чисел в нечетных строках. Ввод исходного массива организовать из файла, при вводе учесть возможность ввода массива меньшей размерности. Результаты работы программы вывести на экран и в файл. Сама программа работает нормально, но преподаватель попросила сделать сортировку выбором,... https://www.cyberforum.ru/ cpp-beginners/ thread1368590.html
C++ Не отображается русский шрифт #include <iostream> #include <string> #include <cstring> using namespace std; struct Zacetka {int nomer_zacetki; int nomer_prikaza; std::string name; std::string last_name; https://www.cyberforum.ru/ cpp-beginners/ thread1368560.html C++ Как распознать кодировку текста при вводе из файла?
Имеется файл с текстом, написанный в каком-то текстовом редакторе на каком-то человеческом языке. Программа должна считывать этот текст и сортировать его строки по алфавиту. Сортировка происходит по буквам первого слова (это не суть). Чтобы правильно определить расположение символов в кодировке друг относительно друга, необходимо работать в соответствующей кодировке. Какими способами можно...
C++ Игра 2048 - исправить выбор направления хода игроком https://www.cyberforum.ru/ cpp-beginners/ thread1368537.html
Чувствую, что напутал что-то при выборе направления хода игроком... #include "stdafx.h" #include <stdlib.h> #include <time.h> #include <conio.h> #include <iostream> #include <iomanip> #include <Windows.h> #include <tchar.h> #include <string>
C++ Вычислить координаты четвертой вершины прямоугольника https://www.cyberforum.ru/ cpp-beginners/ thread1368535.html
Даны числа x1, y1, x2, y2, x3, y3 – координаты трёх каких-то вершин прямоугольника. Вычислить и напечатать координаты четвёртой вершины Надо написать на DEV C++ Помогите пожалуйста. Срочно вот нужно. Заранее Спасибо огромное.
Вывести таблицу значений функции C++
Ребят помогите в решении . Дана система . Работа на языке с++ в visual /Подскажите хотя бы с чего начать , я в математике ноль (( Для ввода формул имеется редактор внизу страницы!
C++ Локальная переменная влияет на отображение глобальной, что делать? #include <iostream> void myFunction(); int x=5, y=7; int main() { using std::cout; https://www.cyberforum.ru/ cpp-beginners/ thread1368516.html
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 9
0

Проблема с выводом массива спиралью против часовой стрелки - C++ - Ответ 7189106

05.02.2015, 09:31. Показов 1819. Ответов 5
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, недавно была задача, создать массив 10х10 рандомных чисел и вывести спиралью против часовой стрелки. В паскале задачу я выполнил и попытался перенести код на с++. К сожалению на этапе вывода значений спирали у меня возникли сложности.Я понимаю что на с++ массив начинается с 0, но самостоятельно исправить ошибку не смог.
Код на паскале
Pascal
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
Program HelloWorld;
var i,j,l,k,il,ik,min:integer;
x,y:array[1..10,1..10] of integer;
output: array[1..100] of integer;
m:integer;
x1,y1,num,add,dir:integer;
begin
for i:= 1 to 10 do
for j:=1 to 10 do
x[i,j]:=random(101);
 
for i:= 1 to 10 do
for j:=1 to 10 do Begin
min:=10000;
for l:=1 to 10 do
for k:=1 to 10 do
if(x[l,k]<min) then Begin
min:=x[l,k];
il:=l;
ik:=k;
End;
y[i,j]:=min;
x[il,ik]:=10000;
End;
 
for i:=1 to 10 do Begin
  for j:=1 to 10 do Begin
    Write(y[i,j]:4);
    output[(i-1)*10+j]:=y[i,j];
  End;
  WriteLn;
End;
 
 
j:=1; // output pointer
 
m:=10;
writeln('Вывод элементов по спирали от [1,1] против часовой стрелки:');
x1:=1;{первый столбец}
y1:=0;{начнем сверху}
Add:=m;{начальная длина пути в одном направлении}
dir:=1;{знак направления +1 вниз и вправо, -1 вверх и влево}
while (add<>0) do{пока не пройдем все пути}
begin
  i:=0;
  while (i<>add) do begin
    y1:=y1+dir;{вниз, вверх}
    //write(y[y1,x1],' ');
    x[y1,x1]:=output[j];
    j:=j+1;
    i:=i+1;
  end;
  i:=0;
  add:=add-1;{уменьшаем путь}
  while (i<>add) do begin
    x1:=x1+dir;{вправо-влево}
    //write(y[y1,x1],' ');
    x[y1,x1]:=output[j];
    j:=j+1;
    i:=i+1;
  end;
  dir:=dir*(-1);{после каждых двух отрезков меняем знак}
end;
 
for i:=1 to 10 do Begin
  for j:=1 to 10 do
    Write(x[i,j]:4);
  WriteLn;
End;
 
end.


А вот мой перенос кода на с++
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
#include <iostream>
#include "stdio.h"
#include <stdlib.h>
using namespace std;
 
int main()
{int m,i,j,l,k,il,ik,min;
int x[10][10],y[10][10],output[100];
int x1,y1,num,add,dir;
for (i=0;i!=10;i++)
for (j=0;j!=10;j++)
{x[i][j]=rand()%100 +1;}
 
for (i=0;i!=10;i++)
for (j=0;j!=10;j++)
    {min=10000;
    for (l=0;l!=10;l++)
    for (k=0;k!=10;k++)
        if(x[l][k]<min)
            {min=x[l][k];
            il=l;
            ik=k;
            }
            y[i][j]=min;
            x[il][ik]=10000;
 
    }
for (i=0;i!=10;i++){
    for(j=0;j!=10;j++)
        {cout<<y[i][j]<<"   ";
        }
        cout<<"\n";
    }
j=1;
m=10;
cout<<"Вывод элементов массива согласно условию \n";
x1=1;
y1=0;
add=m;
dir=1;
while(add!=0)
    {i=0;
        while(i!=add)
            {y1=y1+dir;
            x[y1][x1]=output[j];
            j=j+1;
            i=i+1;
            }
            i=0;
            add=add-1;
        while(i!=add)
        {x1=x1+dir;
        x[y1][x1]=output[j];
         j=j+1;
         i=i+1;}
         dir=dir*(-1);}
  for(i=0;i!=10;i++)
    {for(j=0;j!=10;j++)
    {cout<<x[i][j]<<" ";
    }
    cout<<"\n";
        }
}


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

Заполнение матрицы спиралью против часовой стрелки
Напишите программу, которая выводит на экран матрицу размера N*N (0&lt;N&lt;100) заполненную змейкой...

Поворот массива на 90 градусов против часовой стрелки И ПЕРЕЗАПИСАТЬ ИСХОДНЫЙ МАСССИВ
Суть задачи такова: дан динамический массив размером nxn (заполняется рандомно), его надо...

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

Заполнение матрицы против часовой стрелки
Заполнить матрицу 9х9 числами, начиная с единицы: вниз - вправо - вверх - влево. Помогите,...

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

Поворот матрицы против часовой стрелки
Здравствуйте! Я собрал программу для решения этой задачи, но программа всё равно не работает. //...

Повернуть матрицу против часовой стрелки
Повернуть матрицу против часовой стрелки. Я написал программу, но она не запускается. Где-то я...

программа" аналог часов, только стрелки нужно вращать с помощью клавиатуры. Одну по часовой, другую против часовой.
нужно сделать окружность с делением, как часы. И внутри две стрелки. которые двигаются с помощью...

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

Заполнить массив спиралью начиная с центра и против часовой стрелки
14. Дано число n. Создайте матрицу int A и заполните её по спирали, начиная с числа 0 в центральной...

Заполнение массива против часовой стрелки
Помогите, пожалуйста... В данном случае идет заполнение массива по часовой стрелке (кроме полей,...

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