C++ Реализовать класс "Длинных чисел" (найти причины и способы устранения ошибки)Всем привет:) помогите пожалуйста решить проблему: делаю класс длинных чисел, обязательно нужно использовать конструкторы(по умолчанию, с параметрами и копирования), вроде делаю все, как у людей, там, объявление в хедере, реализация в одном файле, мэйн в другом. Но почему то при компиляции выдает мне от 35 до 45 ошибок, первая из которых называется переопределение типа "class", остальные или...https://www.cyberforum.ru/ cpp-beginners/ thread1629922.html
C++ Как выбрать класс из консольного меню? Есть классы графических фигур, описание их - в соответствующих файлах. Для всех них есть метод рисования Draw(), выполненный на основе библиотеки BGI grahpics.h;
Делаю программу так, чтобы выбирался массив экземпляров класса путем ввода с клавиатуры. В дальнейшем будет идти обработка данных в зависимости от введенного класса. Требуется сократить программу и не делать всех вариантов обработки...
C++ Посоветуйте литературу по с++(с большим приоритетом на блок-схемы)https://www.cyberforum.ru/ cpp-beginners/ thread1629909.html Еще раз доброго времени суток дорогие форумчане, решил избавиться от очередного страха, который заставляет меня засомневаться каждый раз при чертеже блок-схемы(алгоритма) программы. Скачал достаточно большое кол-во литературы и видео уроков, но ни в одном нету детального объяснения этих блок-схем. Чтобы с нуля и до опытного кодера. Заранее благодарю, с уважением..
C++ Разложение на простые множители решетом Эратосфенаhttps://www.cyberforum.ru/ cpp-beginners/ thread1629875.html Всем привет! Помогите, пожалуйста, отыскать ошибку или значение, которое неправильно вычисляется. Не могу понять, где проблема.
Решаю задания на одном сайте, решение проходит несколько автоматических тестов на сервере. Один из тестов выдаёт сообщение, что получен неверный ответ.
Задание: разложить число натуральное число N (2 ≤ N ≤ {2}^{31} - 1) на простые множители.
...
C++ Разработать класс векторов произвольной одинаковой длины Добрый вечер! Прошу помочь с задачей :)
Разработать класс векторов произвольной одинаковой длины. Переопределить операции сложения, вычитания, операцию ++ прибавления 1 ко всем элементам. Создать массив из четырех векторов и найти среди них два с максимальным средним значением для их суммы.
Заранее спасибо! :)
C++ Разработать класс "Матрица"https://www.cyberforum.ru/ cpp-beginners/ thread1629873.html Добрый вечер! Прошу помочь с задачей :)
Разработать класс матриц размера 2 на 2. Переопределить операции сложения, умножения и вычитания матриц, вычисления детерминанта. Создать класс-потомок нижнетреугольных матриц с одинаковыми ненулевыми элементами на диагонали, ввести в нем операции сложения и взятия обратной матрицы. В основное программе проверить на корректность.
Заранее спасибо! :)
C++ Разработать класс "Комплексное число", переопределить четыре арифметических действия и операцию сравненияДобрый вечер! Прошу помочь с задачей :)
Разработать класс комплексных чисел, переопределить четыре арифметических действия и операцию сравнения. В основной программе проверить корректность. Создать массив комплексных чисел, длину массива задать с экрана. Найти число элементов массива, отличных от деления первого числа на последнее.
Заранее спасибо! :)https://www.cyberforum.ru/ cpp-beginners/ thread1629872.html
Пытаемся прикрутить CMake к QtCreator под OS X C++ Доброе время суток, навеяло темой о самой лучшей IDE!
И так собрался я подружить Qt и cmake (Qbs что то мне не пошел)! С начало полез в настройки самой IDE, там есть встроенный генератор, называется так эпично (Ninja), дума ну супер не надо не каких танцев с бубной, а нет, он не умеет и половины того что предусмотрено что бы собрать нормальный проект, и так дальше скачал с оффа чистый cmake...
C++ Используя указатели меняем максимальный элемент с первым местамиhttps://www.cyberforum.ru/ cpp-beginners/ thread1629855.html Всех с прошедшым новым годом!
Здравствуйте.
В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти максимальный элемент и поменять его с первым элементом. Не использовать глобальных переменных. Ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя.
...
Неа, оно не работает. Я могу скинуть всю программу, чтобы виднее было, как там все работает. Попробуй заполнить все клетки, чтобы ни один игрок не выиграл. Она работает, но в конце TicTacToeGame.cpp есть та некрасивая линия, которую я и хочу заменить на for луп(она отмечена комментарием //Checking for draw). Но когда и заменяю ту некрасивую линию на for луп, ничья перестает показываться.
Main.cpp:
#include "TicTacToeGame.h"
TicTacToeGame::TicTacToeGame(){system("cls");cout<<"\n________________________________________________________________________________\n\n"<<" Welcome to TicTacToe v0.3!\n\n";cout<<"\n________________________________________________________________________________\n";cout<<"\n\nPlease enter a first player's name: ";cin>> P1name;cout<<"\n\n"<<"Please enter a second player's name: ";cin>> P2name;}void TicTacToeGame::clearBoard(){
turn ='1';
endMove =0;
gameEnd =0;for(int i =0; i <3; i++){for(int j =0; j <3; j++){
board[j][i]=' ';}cout<< endl;}}void TicTacToeGame::printBoard(){system("cls");cout<<"\n________________________________________________________________________________\n";cout<<" ";cout<<" 1 2 3\n";cout<<" ";cout<<"=========\n";for(int i =0; i <3; i++){cout<<" ";for(int j =0; j <3; j++){cout<<"|";cout<< board[j][i];cout<<"|";}cout<<" "<<(i+1);cout<< endl <<" "<<"========="<< endl;}}void TicTacToeGame::makeMove(){cout<<"\n--------------------------------------------------------------------------------\n"<< endl;if(turn =='1'){do{
endMove =0;cout<< P1name <<", plaese, enter X coordinates of your move: ";cin>> x;cout<< P1name <<", please, enter Y coordinates of your move: ";cin>> y;if(board[x -1][y -1]==' '){
board[x -1][y -1]= P1;
endMove =1;
turn ='2';}else{cout<<"Invalid move! Try again\n";}}while(endMove !=1);}elseif(turn =='2'){do{
endMove =0;cout<< P2name <<", plaese, enter X coordinates of your move: ";cin>> x;cout<< P2name <<", plaese, enter Y coordinates of your move: ";cin>> y;if(board[x -1][y -1]==' '){
board[x -1][y -1]= P2;
endMove =1;
turn ='1';}else{cout<<"Invalid move! Try again\n";}}while(endMove !=1);}}int TicTacToeGame::checkEnd(){//Check for player 1 winfor(int i =0; i <3; i++){if((board[0][i]== P1)&&(board[1][i]== P1)&&(board[2][i]== P1)){
coutWin(P1name);}}if((board[0][0]== P1)&&(board[1][1]== P1)&&(board[2][2]== P1)){
coutWin(P1name);}if((board[0][2]== P1)&&(board[1][1]== P1)&&(board[2][0]== P1)){
coutWin(P1name);}for(int i =0; i <3; i++){if((board[i][0]== P1)&&(board[i][1]== P1)&&(board[i][2]== P1)){
coutWin(P1name);}}//Check for player 2 winfor(int i =0; i <3; i++){if((board[0][i]== P2)&&(board[1][i]== P2)&&(board[2][i]== P2)){
coutWin(P2name);}}if((board[0][0]== P2)&&(board[1][1]== P2)&&(board[2][2]== P2)){
coutWin(P2name);}if((board[0][2]== P2)&&(board[1][1]== P2)&&(board[2][0]== P2)){
coutWin(P2name);}for(int i =0; i <3; i++){if((board[i][0]== P2)&&(board[i][1]== P2)&&(board[i][2]== P2)){
coutWin(P2name);}}//Checking for a drawif(((board[0][0])!=' ')&&((board[0][1])!=' ')&&((board[0][2])!=' ')&&((board[1][0])!=' ')&&((board[1][1])!=' ')&&((board[1][2])!=' ')&&((board[2][0])!=' ')&&((board[2][1])!=' ')&&((board[2][2])!=' ')&& Draw ==1){cout<<"\n--------------------------------------------------------------------------------\n"<< endl;cout<<"Draw!";
gameEnd =1;}return gameEnd;}void TicTacToeGame::coutWin(string playerName){
Draw =0;cout<<"\n--------------------------------------------------------------------------------\n"<< endl;cout<< playerName <<" won!";
gameEnd =1;}
Добавлено через 7 минут
Сообщение от nord_v
Должно работать, только индексы (i, j) ты там спутал.
Добавлено через 1 минуту
И зачем на неравенство пробелу проверяешь? Проверяй на равенство. Если есть пробел, то массив не заполнен.
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .