С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как работают циклы? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана последовательность целых чисел а1, а2, …, an. Выяснить, является ли она симметричной последовательностью простых чисел http://www.cyberforum.ru/cpp-beginners/thread704609.html
Дана последовательность целых чисел а1, а2, …, an. Выяснить, является ли она симметричной последовательностью простых чисел Пытался хотя бы находить простые числа в массиве, без проверки на...
C++ Проверьте правильно ли я написал программу? #include <iostream> using namespace std; int main(){ int a,b,c,x1,x2,dx; cout<< "Inter a="; cin >> a; cout<< "Inter b="; cin >> b; cout<< "Inter c="; cin >> c; cout<< "Inter X1="; cin>>... http://www.cyberforum.ru/cpp-beginners/thread704599.html
Необходимо вычислить значение 2 в степени n. C++
"Необходимо вычислить значение 2 в степени n." как это сделать,помогите пожалуйста? я сделала,но на большие числа не хватает
Быстрая сортировка C++
Задача: Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом...
C++ Объяснить код (рекурсивная функция). http://www.cyberforum.ru/cpp-beginners/thread704577.html
Кто может подробно объяснить эту рекурсивную функцию int Mod(int *a, int *end, int k) { return a < end ? ((*a)%k == 0) + Mod(a+1, end, k) : 0; }
C++ Как бы это декларировать? Вектор должен поддерживать и скалярное, и векторное произведение. Добавлено через 1 минуту Реализация - не проблема, проблема в том, что символ умножения в c++ один, а в обоих случаях оба... подробнее

Показать сообщение отдельно
Siebent
16 / 2 / 1
Регистрация: 21.11.2012
Сообщений: 43

Как работают циклы? - C++

22.11.2012, 07:01. Просмотров 487. Ответов 8
Метки (Все метки)

Мне нужно написать программу, выполняющую следующие действия:
1. Ввести две строки текста с подсказками при вводе;
2. Определить и вывести на экран длины строк (без конечного нулевого байта); использовать оператор while;
3. Объединить две строки в одну, удалив все пробелы; использовать оператор for.
4. Выполнить обработку строки - Заменить все пары букв «XY» на цифры «12».. Обработку прекратить, если количество изменений будет больше четырех. Использовать оператор do while;
5. Вывести результирующую строку на экран.

Что сделал:
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
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#pragma argsused
int main(int argc, char* argv[])
{
 
char str1[80], str2[80], str3[160];
    int i, j, count;
 
/vvod strok/
    printf("Enter first string:\t");
    gets(str1);
 
    printf("Enter second string:\t");
    gets(str2);
 
/*podchet dliny*/
    i=0;
    while(str1[i++]!='\0');
    printf("First string length is:\t%d chars\n",i-1);
 
    j=0;
    while(str2[j++]!='\0');
    printf("Second string length is:\t%d chars\n",j-1);
 
/*soedinenie strok*/
 
//не могу понять как правильно соединить строки...
       for(i=0;str1[i]!='\n'; i++) str3[i]=str1[i];
       for(j=0;str2[j]!='\n'; j++) {str3[i]=str2[j]; i++;}
 
 
    puts(str3);
 
 
 
       system("pause");
        return 0;
}
Добавлено через 12 часов 2 минуты
Вот до чего дошел:
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
44
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#pragma argsused
int main(int argc, char* argv[])
{
    char str1[80], str2[80], str3[160];
    int i, j, count;
 
/*ввод строк*/
    printf("Enter first string:\t");
    gets(str1);
 
    printf("Enter second string:\t");
    gets(str2);
 
/*подсчет длины*/
    i=0;
    while(str1[i++]!='\0');
    printf("First string length is:\t%d chars\n",i-1);
 
    j=0;
    while(str2[j++]!='\0');
    printf("Second string length is:\t%d chars\n",j-1);
 
/*соединение строк*/
       j=0;
       for (i=0; str1[i]!=' '; i++) {str3[j]=str1[i];  j++;}
       for (i=0; str2[i]!=' '; i++) {str3[j]=str2[i];  j++;}
       printf("First string plus second string are:\t");
       puts(str3);
/*замена "XY"на "12"*/
        j=0;
        do
       { if (str3[j]=='X' && str3[j++]=='Y')  {str3[j]=='1'; str3[j++]=='2';}
       j++;}
 
         while  (str3[j]!='\n')
            ;
            printf("cifra:\t");
       puts(str3);
       system("pause");
        return 0;
}
Но соединение строк все равно не корректо работает, а так же не заменяет символы на цыфры. Может кто подсказать как поправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.