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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Anwer
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 49
#1

Переставить первую и последнюю цифры числа - C++

22.01.2014, 20:54. Просмотров 2061. Ответов 48
Метки нет (Все метки)

Условие задачи: Дано натуральное число n. Переставить первую и последнюю цифры числа n.
Не могу понять что за ошибку выдает, и как её исправить.

Код
Ошибка	3	error LNK1120: 1 неразрешенных внешних элементов	c:\users\денис\documents\visual studio 2010\Projects\onen\Debug\onen.exe	1
Ошибка	2	error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup	c:\Users\Денис\documents\visual studio 2010\Projects\onen\onen\MSVCRTD.lib(crtexe.obj)
Помогите пожалуйтса!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <math.h>
using namespace std;
 
void locmax(int **pm, int n, int *indi, int *indj)
{
int max, i, j;
 
max = pm [0][0];
*indi = 0;
*indj = 0;
 
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (pm[i][j] > max)
{
max = pm[i][j];
*indi = i;
*indj = j;
}
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 20:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переставить первую и последнюю цифры числа (C++):

Переставить первую и последнюю цифры числа - C++
LYUDI DOBRIE POMOGITE...PROWU VAS))) 1.Дано натуральное число n. a. Выяснить, входить ли цифра 3 в запись числа n2 . b. Поменять...

Переставить первую и последнюю цифры натурального числа - C++
Дано натуральное число n, переставить первую и последнюю цифры числа.Если число n&lt;10,то вывести просто число. Выходные данные вывести...

Переставить местами первую и последнюю цифры заданного числа - C++
Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа

Переставить местами первую и последнюю цифры заданного натурального числа - C++
2.Дано натуральное число п. Переставить местами первую и последнюю цифры этого числа. Благодарю

Дано натуральное число n. Переставить первую и последнюю цифры числа - C++
Дано натуральное число x. Переставить первую и последнюю цифры числа. У меня есть похожая задача. Вот она: #include &lt;stdlib.h&gt; ...

Переставить первую и последнюю цифры числа натурального числа n - C++
Переставить первую и последнюю цифры числа натурального числа n! Заранее спасибо!

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ev_Hyper
Заблокирован
22.01.2014, 23:10 #16
Anwer, давайте с динамической памятью разберемся потом. Вот для начала:

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
#include <iostream>
#include <math.h>
using namespace std;
 
void locmax(int pm[3][3], int n)
{
    int max, i, j,indi,  indj;
    max = pm [0][0];
indi = 0;
indj = 0;
 
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (pm[i][j] > max)
{
max = pm[i][j];
indi = i;
indj = j;
}
cout<<max<<" "<<indi<<" "<<indj<<" ";
}
 
int main() 
{
int pm[3][3]={{1,2,3},{4,5,6},{7,8,9}}, n=3;  
locmax(pm,n);
}
Попробуйте переделать так, чтобы пользователь сам вводил числа
0
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
22.01.2014, 23:25 #17
Мне одному кажется, что ТС пытается реализовать что-то, что близко не похоже на "Дано натуральное число n. Переставить первую и последнюю цифры числа n." ? Или я не знаметил, как вы все плавно сменили тему ?
0
Anwer
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 49
22.01.2014, 23:36  [ТС] #18
Если я ошибся поправьте.
P.S. Большое спасибо за советы и за помощь, люблю этот форум за то что можно найти помощь, новичкам порой трудно начинать программировать
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
#include <iostream>
#include <math.h>
using namespace std;
 
void locmax(int pm[3][3], int n)
{
    setlocale(LC_ALL, "rus");
    int max, i, j, indi, indj;
    max = pm [0][0];
indi = 0;
indj = 0;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (pm[i][j] > max)
{
max = pm[i][j];
indi = i;
indj = j;
}
cout << max << " " << indi << " " << indj << " ";
}
 
int main() 
{
int pm[3][3]={{1,2,3},{4,5,6},{7,8,9}}, n;
cin >> n;  
locmax(pm,n);
}
0
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
22.01.2014, 23:56 #19
Anwer, скажите, пожалуйста, что Вам вообще нужно ?) Вот условие задачи, которое Вы предоставили.
Условие задачи: Дано натуральное число n. Переставить первую и последнюю цифры числа n.
А сами реализовываете в коде поиск максимального элемента в двумерном массиве, с выводом его индексов
Что-то я вообще сути темы уловить не могу)

Добавлено через 6 минут
Цитата Сообщение от Anwer Посмотреть сообщение
int pm[3][3]={{1,2,3},{4,5,6},{7,8,9}}, n;
cin >> n;
Вас просили реализовать передачу элементов массива в функцию вручную, а не обозначить количесвто циклов для данного массива. Для данного случая n должно быть равно 3, иначе программа не будет работать корректно.
И, да, эта библиотека в данном случае Вам вовсе не нужна.
Цитата Сообщение от Anwer Посмотреть сообщение
#include <math.h>
Добавлено через 2 минуты
Anwer, если Вы действительно хотите заниматься программированием, то почитайте хотя бы как передавать массив в функцию. У Вас это реализованно, но боюсь, что Вы об этом даже не догадываетесь)
Если Вам надо просто тупо сдать лабу и не интересует дальнейшее изучение программирования, то дайте четкое условие, и мы Вам поможем..
0
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
23.01.2014, 00:01 #20
Цитата Сообщение от Бедел Посмотреть сообщение
Мне одному кажется, что ТС пытается реализовать что-то, что близко не похоже на "Дано натуральное число n. Переставить первую и последнюю цифры числа n." ?
Нет,для такой задачи эти массивы вообще не нужны.
0
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
23.01.2014, 00:05 #21
Цитата Сообщение от S_el Посмотреть сообщение
Нет,для такой задачи эти массивы вообще не нужны.
Так я о том же Заголовок темы и его первый пост говорят об одном, а ТС пытается реализовать совсем иное.. Вот я и запутался, что именно его интересует..
0
Anwer
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 49
23.01.2014, 00:08  [ТС] #22
Да я желаю им заниматся, мне не нужно сдавать лабу, я занимаюсь им потому что хочу научится. Изначально стоит условие. Условие задачи: Дано натуральное число n. Переставить первую и последнюю цифры числа n. Я реализовал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <math.h>
using namespace std;
 
void locmax(int **pm, int n, int *indi, int *indj)
{
int max, i, j; //задал 3 переменный (целочисленные)
 
max = pm [0][0]; //присвоил значение максимуму
*indi = 0; //применил указатель и присвоил значение этой переменной оно равно 0
*indj = 0; //аналогично
 
for (i = 0; i < n; i++) //далее делаю цикл с условием
for (j = 0; j < n; j++)
if (pm[i][j] > max) //если массив из i елементов и j елементов больше максимума. Значит максимум равен елементам этого массива. а переменные indi, indj равны значению i и соответственно j.
{
max = pm[i][j];
*indi = i;
*indj = j;
}
}
Но по какой-то причине у меня идут ошибки. Я обьясню то что я делал в задаче. По идее задача должна реализоватся. Но она не реализовуется. Помогите решить или показать как её решить если я её не правильно решаю. P.S. расписал свои действия P.S.2. согласен математическая библиотека не к месту
0
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
23.01.2014, 00:10 #23
Для комментариев в C++ используются // или /* комментарий */ для области.
1
Ev_Hyper
Заблокирован
23.01.2014, 00:15 #24
Anwer, давайте пока-что уйдем от задачи перемены местами двух цифр одного числа - она не самая простая и понятная.
Попробуем в матрице(двумерный массив) поменять местами максимум и первый элемент.
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
#include <iostream>
#include <locale>
using namespace std;
 
void locmax(int pm[100][100], int n)
{
int max, i, j,indi,  indj;
max = pm [0][0];
indi = 0;
indj = 0;
 
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (pm[i][j] > max)
{
max = pm[i][j];
indi = i;
indj = j;
}
cout<<max<<" "<<indi<<" "<<indj<<" ";
}
 
int main() 
{
setlocale(LC_ALL, "rus");
int n;  
int pm[100][100];
cout<<"Введите n <100:"<<endl;;
cin>>n;
cout<<"Введите массив :"<<endl;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++){
    cout<<"["<<i<<"]["<<j<<"]"<<endl;
    cin>>pm[i][j];
}
 
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
    cout<<pm[i][j]<<" ";
cout<<endl;
}
locmax(pm,n);
}
Тут находим максимум остаеться только поменять его местами с нужным элементом
P.S Одна перемення в функции locmax лишняя, попробуйте определить какая и изменить код так, чтобы её не использовать
0
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
23.01.2014, 00:18 #25
Anwer, поддерживаю твое стремление обучаться программированию, но, извини, представленный тобою код ВООБЩЕ никак не связан с этим: Дано натуральное число n. Переставить первую и последнюю цифры числа n. НИКАК !
Код, который ты прислал, находит максимальный элемент двумерного массива и индексы этого максимального элемента. Затем просто выводит три значения. Первое - сам максимальный элемент. Второе - номер строки. Третье - номер столбца.
Скажите мне, как это вообще связано перестановкой цифр в натуральном числе ?
Либо Вы просто издиваетесь над нами, либо я не знаю..)

Добавлено через 1 минуту
S_el, да ради бога, поверьте, комментарии сейчас не первичная проблема, которая стоит перед ТС Вы же видите, что он абсолютно не понимает, что реализовывает совсем иную программу, при этом может корректно дать комментарий каждому шагу, что меня немного удивляет и даже пугает О_о
0
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
23.01.2014, 00:19 #26
Цитата Сообщение от Anwer Посмотреть сообщение
Помогите решить или показать как её решить если я её не правильно решаю
Давайте разберем алгоритм вашей задачи.
1.Задать натуральное число n.
2.Разбить число на цифры и определить количество цифр.
3.Собрать новое число на основании цифр старого числа.

Начните реализовать поэтапно.

Добавлено через 54 секунды
Цитата Сообщение от Бедел Посмотреть сообщение
Вы же видите, что он абсолютно не понимает, что реализовывает совсем иную программу, при этом может корректно дать комментарий каждому шагу, что меня немного удивляет и даже пугает О_о
Это меня тоже удивляет,но всякое бывает
0
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
23.01.2014, 00:24 #27
S_el, бывает же такое
Ev_Hyper, сомневаюсь, что это ему сейчас будет полезно, если он пока не может отличить простую функцию от main().
Anwer, Вам посоветую изучить работу с функциями более детально, прежде чем браться за такую задачу
0
Ev_Hyper
Заблокирован
23.01.2014, 00:31 #28
Цитата Сообщение от Бедел Посмотреть сообщение
Ev_Hyper, сомневаюсь, что это ему сейчас будет полезно, если он пока не может отличить простую функцию от main().
ничего страшного в этом нет. Считаю, что в самом начале изучения и нужно как можно больше практиковаться на самых простых задачках. Главное понимать алгоритм и уметь писать хотя бы псевдокод.
По комментариям ТС видно, что он стараеться разобратся и понимает, что хочет сделать в каждой строке.
0
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
23.01.2014, 00:38 #29
Ev_Hyper, это и пугает, что он разбирается в каждой строчке, но не понимает, что этот алгоритм не делает ничего схожего с перестановкой цифр числа. Просто сказать, что делает каждая строка алгоритма, не такая сложная задача, как понимать, что в целом реализовывает алгоритм. Просто хочу довести до ТС, что он реализовывает алгоритм не имеющий ничего общего с перестановкой цифр в числе.
А так, да, не спорю, он старается, молодец.. Но надо иногда указать верное направление
0
R1987
13 / 13 / 2
Регистрация: 09.12.2012
Сообщений: 63
23.01.2014, 00:43 #30
Anwer, Вот только что была тема про перестановку цифр Поменять крайние цифры числа местами
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2014, 00:43
Привет! Вот еще темы с ответами:

Дано натуральное число n. Переставить местами первую и последнюю цифры числа n - C++
Дано натуральное число n. Переставить местами первую и последнюю цифры числа n.

Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа - C++
Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа.

Дано натуральное число л. Переставить местами первую и последнюю цифры этого числа - C++
Дано натуральное число л. Переставить местами первую и последнюю цифры этого числа.

Для целого числа N, вводимого с клавиатуры, переставить первую и последнюю цифры и выдать его на печать. - C++
Для целого числа N, вводимого с клавиатуры, переставить первую и последнюю цифры и выдать его на печать. Если можно с объяснениями


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.01.2014, 00:43
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru