Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Слияние двух одномерных массивов


Автор: MrArsh 5.2.2011, 02:00
Задача такая: Написать программу котороя
1. выводит строка с ... вместо концовки
2. выводит варианты продолжения
3. считывает с клавиатуры число - номер варианта
4. в зависимости от числа определенной переменной присваивается строка
5. в конце выводится текст, в котором используются строки (выбранные варианты)
вроде все

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

Код

#include <iostream>
#include <clocale>
#include <string>
using namespace std;

int main()
{
char start[64]="C";
char string_1[64]="C1";
char string_2[64]="C2";
char string_3[64]="C3";
char string_4[64]="C4";
unsigned int index;
unsigned int temp;


cout<<"Varianti prodolzheniya"<<endl;
cout<<"Vvedite nomer"<<endl;
cout<<string_1<<endl;
cout<<string_2<<endl;
cout<<string_3<<endl;
cout<<string_4<<endl;

cin>>index;

if (index==1)

strcat(start, string_1);    
 cout<<start;
         
 if(index==2)
  strcat(start, string_2);
   cout<<start;

 if(index==3)
   strcat(start, string_3);
    cout<<start;
    
      if(index==4)      
     
      strcat(start, string_4);
       cout<<start;
      cin>>temp;
  }
      

Автор: panter 5.2.2011, 11:04
Учи с++.

Автор: MrArsh 5.2.2011, 11:27
Ну дык я и учу. Вот затык произошел. Вот и спрашиваю.

Автор: borisbn 5.2.2011, 12:54
MrArsh,
1. Как-то у тебя название темы никак не вяжется с заданием...
2. В задании сказано:
Цитата(MrArsh @  5.2.2011,  02:00 Найти цитируемый пост)
выводит строка с ... вместо концовки

где это в приведённом коде ?
3. Я не знаю, что ты хотел сделать этим
Цитата(MrArsh @  5.2.2011,  02:00 Найти цитируемый пост)

if(index==2)
  strcat(start, string_2);
   cout<<start;

но у тебя проверится условие, в зависимости от него выполнится или нет strcat, а затем гарантированно сделается cout<<start
наверное ты хотел так
Код

if(index==2)
{
  strcat(start, string_2);
  cout<<start;
}

4. А если строк будет не 4, а 1000, ты также построил бы программу ?
5. Ну и, наконец, я не очень понял задание. Напиши, как ты видишь ввод и вывод программы. типа такого
Цитата

out: vvedite text
in: text
out: text...
text1
text2
text3

vvedite index
in: 2
out: text2

тогда будет понятно, что должна делать программа

2 panter: те, кто знают Си++, не будут задавать вопросы в разделе для новичков. ТС не просто попросил сделать за него программу (как делают многие), а попробовал, но у него из-за незнания не получилось, а ты вместо помощи предлагаешь ему
Цитата(panter @  5.2.2011,  11:04 Найти цитируемый пост)
Учи с++.

 smile не есть гуд

P.S. На правах  smile  Лучше посоветовать учить русский, т.к.

Цитата(MrArsh @  5.2.2011,  02:00 Найти цитируемый пост)
Написать программу котороя

Цитата(MrArsh @  5.2.2011,  02:00 Найти цитируемый пост)
выводит строка

Цитата(MrArsh @  5.2.2011,  02:00 Найти цитируемый пост)
ответ не правильный выводится


Автор: panter 5.2.2011, 18:57
borisbn, это основы языка: case, if, etc. По коду видно, что человек не учит, а пытается методом тыка действовать. Вот и совет ему почитать хотя бы несколько первых глав из любой книги по с++.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)