Форумы-->Форум для внеигровых тем--> 1|2
Автор | помогите написать программу на С++ |
Вимоги до реалізації:
1) Початкові дані вводяться з клавіатури з організацією необхідного діалогу з користувачем, використовуючи елементарне форматоване введення-виведення.
2) Використання покажчиків для доступу до елементів обробки.
3) Перетворення рядків відбувається у тій самій області пам’яті, якщо це не оговорено в умові завдання.
4) Використання вбудованих функцій роботи з рядками.
5) Якщо не оговорено окремо, слова у реченнях можуть відокремлюватись будь-якими розділовими знаками, кількість прогалин не обмежена.
6) Тестування програми провести на варіантах вхідної інформації, які передбачають різні ситуації у границях обмежень у постановці задачі. Аналіз результатів необхідно провести самостійно до демонстрації програми викладачу та зафіксувати тести у зошиті.
7) Програма повинна супроводжуватися коментарем, якій містить в собі: П.І.Б., шифр групи, повну умову завдання, примітки (якщо необхідно).
8) При наявності будь-яких обмежень на вхідну інформацію, або на алгоритм, вони повинні бути зазначені в коментарі після умови завдання.
Задача:
Составить и отладить программу, которая вводит символьную строку и выделяет из неё все целые числа – только положительные или только отрицательные, в зависимости от ответа на запрос. | теперь я могу думать только про сало, а не ро с++ | Требования к реализации:
1) Исходные данные вводятся с клавиатуры с организацией необходимого диалога с пользователем, используя элементарное форматированное ввода-вывода.
2) Использование указателей для доступа к элементам отделки.
3) Преобразование строк происходит в той же области памяти, если это не оговорено в условии задачи.
4) Использование встроенных функций работы со строками.
5) Если не оговорено отдельно, слова в предложениях могут отделяться любыми знаками препинания, количество пробелов не ограничена.
6) Тестирование программы провести на вариантах входной информации, которые предусматривают различные ситуации в границах ограничений в постановке задачи. Анализ результатов необходимо провести самостоятельно к демонстрации программы преподавателю и зафиксировать тесты в тетради.
7) Программа должна сопровождаться комментарием, который содержит в себе: Ф.И.О., шифр группы, полную условие задачи, примечания (если необходимо).
8) При наличии каких-либо ограничений на входную информацию, или алгоритм, они должны быть указаны в комментарии после условия задачи. | Сам пишу прогу для курсовика. | для PrinceOf-Persia:
Ну что трудного то, делишь строку по символам и проверяешь каждый, если от 0 до 9 то присваиваешь какой-нить переменной +1, причём если следующий символ не цифра тогда счётчик заканчивается и это считается числом | для Старрк:
в с++ строку не надо делить, ибо она изначально являецца массивом символов. %) | для KoNniK:
4) Использование встроенных функций работы со строками. | в с++ строку не надо делить, ибо она изначально являецца массивом символов. %)
Ну так пущай в цикле пройдется по строке, как только попалась цифра или минус, зафиксировать этот момент и отсчитывать дальше, пока идут цифры, зафиксировать конец, выдрать от начала до этого конца это число из строки и запихнуть в один из 2х массивов строк (для положительных и отрицательных, соответственно), продолжать это действие до конца строки.
Потом тупо вывести согласно условию. | 2) Использование указателей для доступа к элементам отделки.
Я че-т не понял, у вас задача по программированию или по ремонту квартир? :) | 3
Теперь я могу думать только о водке. | программу, которая вводит символьную строку откуда вводит? | чёрт, сразу бы начал с 3-го поста(( грёбаный тс )) | а что будет в качестве благодарности? | Я написал вот так, но это не правильно т.к. тут я работая с массивами, а не со встроенными функциями работы со строками.
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char Stroka[50];
cin>>Stroka;
int mas[50];
int n=0;
char a;
cout<<"- ili + chisla"<<endl;
cin>>a;
if (a=='+')
{
for (int i=0; Stroka[i]!='\0'; i++)
{
if ((Stroka[i]>='0')&&(Stroka[i]<='9'))
{
mas[n]=Stroka[i]-'0';
n++;
}
}
printf("mas:");
for (int i=0;i<n;i++)
{
printf(" %d",mas[i]);
}
}
if (a=='-')
{
for (int i=0; Stroka[i]!='\0'; i++)
{
if ((Stroka[i]=='-') && ((Stroka[i+1]>='0')&&(Stroka[i+1]<='9')))
{
mas[n]=Stroka[i]-'0';
n++;
}
}
printf("mas:");
for (int i=0;i<n;i++)
{
printf(" %d",mas[i]);
}
}
cout<<'\n';
system("pause");
return 0;
} | для pHeroesWMq:
Что-то мне подсказывает, что эта прога будет работать неправильно по определению: Она выведет только однозначные числа, т.е:
Она на из строки ххх978хх выведет: 9, 8, 9 | Она на из строки ххх978хх выведет: 9, 8, 9
Пардон, 9, 7, 8.
А не 978, как надо. | для pHeroesWMq:
Человек О_О тебе было не лень ??? | для Некрольм:
Да, но ее все равно надо переделать чтобы она работала с помощью встроенных функций работы со строками. | cout<<"- ili + chisla"<<endl;
printf("mas:");
программу на С++
ох жесть | во первых, по условию не понятно, что должна делать программа.
Предположим исходная строка "fff111 -232j 123 -783, xxx rh234hhh 123."
Что должно быть в итоге? "123 -783 123" , "111 -232 123 -783 234 123" или по другому???
Во вторых, что я получу за решение сего примера? |
1|2К списку тем
|