Перейти к содержанию

помогите решить несколько задачек.


Рекомендуемые сообщения

Вот это, как вариант


#include
#include
#include

using namespace std;

int main() {
char str[80]; // строка с числами
int iArray[80]; // массив для накопления сумм
cout << "Введите числовую последовательность разделив числа запятой.\n";
cin >> str; // считываем числа как строку, если будет пробел или табуляция, то сюда попадут только символы до пробела или таба
int j = 0;
int i = 0;
int t = 0;
while (true) {
iArray[i] = 0; // инициализируем элемент нулем
while (str[j]) { // работаем до тех пор пока строка не кончится
if (str[j] == ',') { // если символ запятая, то переходим к другому числу
j++;
break;
}
iArray[i] += str[j]-48; // вот этого я не понял, мне казалось что С работает цифровыми символами как целыми,
// а они как ??ASCII-код?? символа идут
j++;
}
if (!str[j]) { // если строка кончилась, то выход
break;
}
i++;
}
j = 0;
while (j <= i) { // а тут пузырьковая сортировка
if (iArray[j] > iArray[j+1]) {
t = iArray[j];
iArray[j] = iArray[j+1];
iArray[j+1] = t;
j = 0;
} else j++;
} // здесь она кончается
j = 0;
cout << "Полученный массив: ["; // вывод того что получилось
while (j <= i) {
cout << iArray[j];
if (j < i) cout << ", ";
j++;
}
cout << "]\n";
return 0;
}

Ссылка на комментарий
На чем пишешь? Подскажи какую- нибудь легкую программку. Потыкаю...

С++.

Добавлено спустя 27 секунд:

int n;

cin>>n; // scanf("%d",&n);

int *a=new int[n];

определенно не зачтут)

Добавлено спустя 59 секунд:

Вот это, как вариант


#include
#include
#include

using namespace std;

int main() {
char str[80]; // строка с числами
int iArray[80]; // массив для накопления сумм
cout << "Введите числовую последовательность разделив числа запятой.\n";
cin >> str; // считываем числа как строку, если будет пробел или табуляция, то сюда попадут только символы до пробела или таба
int j = 0;
int i = 0;
int t = 0;
while (true) {
iArray[i] = 0; // инициализируем элемент нулем
while (str[j]) { // работаем до тех пор пока строка не кончится
if (str[j] == ',') { // если символ запятая, то переходим к другому числу
j++;
break;
}
iArray[i] += str[j]-48; // вот этого я не понял, мне казалось что С работает цифровыми символами как целыми,
// а они как ??ASCII-код?? символа идут
j++;
}
if (!str[j]) { // если строка кончилась, то выход
break;
}
i++;
}
j = 0;
while (j <= i) { // а тут пузырьковая сортировка
if (iArray[j] > iArray[j+1]) {
t = iArray[j];
iArray[j] = iArray[j+1];
iArray[j+1] = t;
j = 0;
} else j++;
} // здесь она кончается
j = 0;
cout << "Полученный массив: ["; // вывод того что получилось
while (j <= i) {
cout << iArray[j];
if (j < i) cout << ", ";
j++;
}
cout << "]\n";
return 0;
}

это определенно не зачтут.слишком много мне непонятных букавок)

Ссылка на комментарий

это определенно не зачтут.слишком много мне непонятных букавок)

Мдееее... Ну тогда я тебе помочь не могу. Ну или можешь убрать все непонятные букавки и сдать

Ссылка на комментарий
#include

#include не знаю что делают эти заголовочные файлы.

но все-равно спасибо)

#include - это лишняя строчка эта библиотека не нужна

#include - библиотека функций для работы с С строками (функция strlen() оттуда)

Спрашивай что непонятно постараюсь объяснить

Ссылка на комментарий

Koshak, а вообще, не стесняйся спрашивать у преподавателей (добрых). Тем более тебя не было на парах, но ты прочитал лекции и ничего не понял. Их задача - научить тебя. Твоя задача научиться.

Ссылка на комментарий

дали новую задачу.сначало надо описать функцию, а затем сам код.

Дана матрица из целых чисел A(8,6).Определить, имеются ли в ней числа, в которых первая и последняя цифры совпадают.если да, то вывести наибольшее из таких чисел и его местоположение(номер строки и столбца) иначе выдать соответствующие сообщение.(описать функцию для проверки числа на совпадение первой и последней цифры)

Ссылка на комментарий
дали новую задачу.сначало надо описать функцию, а затем сам код.

Дана матрица из целых чисел A(8,6).Определить, имеются ли в ней числа, в которых первая и последняя цифры совпадают.если да, то вывести наибольшее из таких чисел и его местоположение(номер строки и столбца) иначе выдать соответствующие сообщение.(описать функцию для проверки числа на совпадение первой и последней цифры)

Зачем ты ваще учишься, бросай учебу, в армии задачки попроще. ;)

Ссылка на комментарий

гммм функция :

входные параметры число

выходные параметры да или нет :)

тело: берешь число и потрошишь его по цифрам :) а именно целочисленно делишь на 10 --->

например 12345 целочисленно на 10 это 1234, а остаток от деления на 10 это сама цифра которую ты выковыриваешь :) цикл потрошения повторяешь пока при целочисленном делении не получишь число меньшее 10. сравниваешь первую и последнюю.

далее отдаешь в программу результат :)

подсказка поэксперементируй с "/" и "%"

Ссылка на комментарий
гммм функция :

входные параметры число

выходные параметры да или нет :)

тело: берешь число и потрошишь его по цифрам :) а именно целочисленно делишь на 10 --->

например 12345 целочисленно на 10 это 1234, а остаток от деления на 10 это сама цифра которую ты выковыриваешь :) цикл потрошения повторяешь пока при целочисленном делении не получишь число меньшее 10. сравниваешь первую и последнюю.

далее отдаешь в программу результат :)

подсказка поэксперементируй с "/" и "%"

сделал так, как ты написал.есть ошибки.помоги исправить.

# include 
# include
# include
using namespace std;
unsigned int chislo(unsigned int a,unsigned int
{
a=chislo/10;
b=chislo%10;
if(a==
return 1;
else
return 0;
}
int main()
{
setlocale(LC_ALL,"Russian");
const int n=8,m=6;
unsigned int x[n][m];
unsigned int i,j;
cout << "введите матрицу размера" << n "х" << m;
for (i=0;i for (j=0;j cin >> x[i][j];
for (i=0;i if(x[j][i]==return 1)
cout << "найденные числа" << x[i][j];
else
cout << "таких чисел нет";
system("pause");
return 0;
}

Ссылка на комментарий

int chislo(int a)
{
int first,last,i;
last=a%10;
while (a>=10)
do
{
a=a/10;
}
first=a;
if (first==last) return 1; else return 0;
}

int main()
{
setlocale(LC_ALL,"Russian");
const int n=8,m=6;
unsigned int x[n][m];
unsigned int i,j;
cout << "введите матрицу размера" << n "х" << m;
for (i=0;i for (j=0;j cin >> x[i][j];
cout << "найденные числа:"
for (i=0;i if(chislo(x[j][i])==1)
cout << x[i][j];
system("pause");
return 0;
}

чтото ты совсем не шаришь. зачем пошел на программиста?

Ссылка на комментарий

немного переделал твое начало.

# include 
# include
# include
using namespace std;
unsigned int chislo(unsigned int a,unsigned int first,unsigned int last,unsigned int i)
{
last=a%10;
while (a>=10)
do
{
a=a/10;
}
first=a;
if (first==last) return 1; else return 0;
}

в конечном итогде пишет

cpp(13) : error C2061: syntax error : identifier 'first'
cpp(22) : error C2143: syntax error : missing ';' before 'string'
cpp(22) : error C2296: '<<' : illegal, left operand has type 'const char [2]'
cpp(27) : error C2143: syntax error : missing ';' before 'for'
cpp(28) : error C2660: 'chislo' : function does not take 1 arguments

Ссылка на комментарий
1. Зачем ты переделал мое начало?

потому что так на парах учили.

2. Как можно исправить ошибки без полного текста программы?

# include 
# include
# include
using namespace std;
unsigned int chislo(unsigned int a,unsigned int first,unsigned int last,unsigned int i)
{
last=a%10;
while (a>=10)
do
{
a=a/10;
}
first=a;
if (first==last) return 1; else return 0;
}
int main()
{
setlocale(LC_ALL,"Russian");
unsigned const int n=8,m=6;
unsigned int x[n][m];
unsigned int i,j;
cout << "введите матрицу размера" << n "х" << m;
for (i=0;i for (j=0;j cin >> x[i][j];
cout << "найденные числа:" ;
for (i=0;i if(chislo(x[j][i])==1)
cout << x[i][j];
system("pause");
return 0;
}

Ссылка на комментарий

cout << "введите матрицу размера" << n << "х" << m;

Чтото я не помню, чтобы переменные объявляли в описании функции. Думаю, исправь, как было и проверяй

Ссылка на комментарий
cout << "введите матрицу размера" << n << "х" << m;

Чтото я не помню, чтобы переменные объявляли в описании функции. Думаю, исправь, как было и проверяй

в смысле сделать твое начало?

Ссылка на комментарий

знаешь, я хочу.и мне это реально нравиться.

ты знаешь что такой чирьи?это огромные гнойные нарывы на теле, которые болят так, что хочется отрезать конечность, на которой они выскочили.а у меня их было 9 штук на обоих руках и один на лице.и все это вылезло за раз.

именно по этой причине я пропустил почти весь семестр.а когда подошел к преподу он сказал:"То, что ты не можешь решить это не мои проблемы либо ты мне приносишь решение, либо я не допускаю тебя к своему экзамену".

так что sayn если вас так мучает то, что люди помогают мне, то прошу в мою тему больше не заходить.

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...