![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Jaxx |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 145 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Задание:
Разработать функцию, которая выполняет следующую обработку символьной строки: выровнять строку по левому краю до заданной длины. Запрещается пользоваться стандартными функциями библиотек С. Или я сегодня сильно туплю, или причина в кривых руках, но не выходит ничего... Код int main() { char str1[80]; char str2[80]; int i; int arr1[80]; int arr2[80]; int otstup; i=0; otstup=0; cout << "VVedite stroku: " << "\n"; cin >> str1; for (i=0; i<80; i++) { arr1[i]=str1[i]; } cout <<"\n"; cout << "Vvedite otstup: "; cin >> otstup; for (i=0; i<otstup; i++) { arr2[i]=' '; } for (i=otstup; i<80; i++) { arr2[i]=arr1[i-otstup]; } for (i=0; i<80; i++) { str2[i]=arr2[i]; } cout << ("\n"); cout << ("\n"); cout << str2; return 0; } -------------------- - Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ты вот о таком:
#include <iostream.h>
int main()
{
char str1[80];
char str2[80];
int arr1[80];
int arr2[80];
int i = 0, otstup = 0;
cout << "VVedite stroku: " << "\n";
cin.getline(str1, 80);
for(i = 0; i < 80; i++) {
arr1[i] = str1[i];
}
cout << "\n";
cout << "Vvedite otstup: ";
cin >> otstup;
for(i = 0; i < otstup; i++) {
arr2[i] = ' ';
}
for(; i < 80; i++) {
arr2[i] = arr1[i - otstup];
}
for(i = 0; i < 80; i++) {
str2[i]=arr2[i];
}
cout << ("\n");
cout << ("\n");
cout << str2;
return 0;
}
? |
Jaxx |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 145 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Так... Концепция изменилась... Согласен, затупил. Все гораздо проще, и без всяких наворотов ))
int main()
{
char str1[80];
int i;
int otstup;
i=0;
otstup=0;
cout << "VVedite stroku: ";
cin >> str1;
cout <<"\n";
cout << "Vvedite otstup: " << "\n";
cin >> otstup;
for (i=0; i<otstup; i++)
{
cout << " ";
}
cout << str1;
return 0;
}
Вот только одна проблема: почему строка выводится только до первого пробела? И еще - как найти длину введенной строки, чтобы поставить проверку количества отступов? Сообщение отредактировано: Jaxx - 12.04.2007 12:05 -------------------- - Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ты обратил внимание, КАК я вводил строку? Зачем вообще спрашивать, если на ответы не обращаешь внимания, и второй раз - на те же грабли?
То, что она у тебя выводится до первого пробела, происходит потому, что оператор ">>" вводит строку до первого пробела, а чтобы прочесть всю строку надо использовать getline |
Jaxx |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 145 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Ну хорошо, это понял. А что с проверкой отступов? Есть функция strlen, но стандартными функциями мне нельзя пользоваться. Как сделать, чтобы строка не разрывалась
-------------------- - Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
|
![]() ![]() |
![]() |
Текстовая версия | 25.07.2025 8:38 |