Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 14.06.2010, 11:39   #1
FauLL
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 15
По умолчанию Строки

Даны два числа: N1 и N2, и две строки: S1 и S2. Получить из этих строк новую строку, объединив N1 первых символов строки S1 и N2 последних символов строки S2.

Код:
#include <iostream.h>
#include <string.h>
main() 
{
      int n1,n2;
      char s3[10];
      const char s1[]="Programma", s2[]="Texnika";
      cout<<"s1="<<s1<<endl;
      cout<<"s2="<<s2<<endl;
      cout<<" n1=";
      cin>>n1;
      cout<<endl;
      cout<<" n2=";
      cin>>n2;
      cout<<endl;
      char strcat(char s3,const char s1,int N1);
      char strcat(char s3,const char s2,int N2);
      cout<<"s3="<<s3<<endl;
      system("PAUSE");
      return 0;
      }
помогите доработать
FauLL вне форума   Ответить с цитированием
Старый 14.06.2010, 20:56   #2
greshnikang
Новичок
Джуниор
 
Аватар для greshnikang
 
Регистрация: 14.06.2010
Сообщений: 1
По умолчанию

Код:
  1 #include <iostream>
  2 #include <string.h>
  3
  4 using namespace std;
  5
  6 main() {
  7       int n1,n2;
  8       char s3[10];
  9       const char s1[]="Programma", s2[]="Texnika";
 10       cout<<"s1="<<s1<<endl;
 11       cout<<"s2="<<s2<<endl;
 12       cout<<"n1=";
 13       cin>>n1;
 14       cout<<endl;
 15       cout<<"n2=";
 16       cin>>n2;
 17       cout<<endl;
 18       strncat(s3, s1, n1);
 19       strncat(s3, s2, n2);
 20       cout<<"s3="<<s3<<endl;
 21       return 0;
 22 }
Както так должно быть...
greshnikang вне форума   Ответить с цитированием
Старый 15.06.2010, 12:39   #3
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,623
По умолчанию

2FauLL
А что у вас означают вот эти две строки?
Код:
      char strcat(char s3,const char s1,int N1);
      char strcat(char s3,const char s2,int N2);
MaTBeu вне форума   Ответить с цитированием
Старый 15.06.2010, 17:53   #4
FauLL
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 15
По умолчанию

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
2FauLL
А что у вас означают вот эти две строки?
Код:
      char strcat(char s3,const char s1,int N1);
      char strcat(char s3,const char s2,int N2);
Да я понял как исправить.
У меня возник другой вопрос как из второй строчки копировать n последних символов?
FauLL вне форума   Ответить с цитированием
Старый 15.06.2010, 18:14   #5
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,623
По умолчанию

Цитата:
У меня возник другой вопрос как из второй строчки копировать n последних символов?
Код:
for(int i = strlen(str)-n, k = 0; i < strlen(str); i++, k++)
              str1[k] = str[i];
В итоге у вас в str1 будет n последних символов строки str.
MaTBeu вне форума   Ответить с цитированием
Старый 15.06.2010, 20:10   #6
FauLL
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 15
По умолчанию

Код:
#include <iostream.h>
#include <string.h>
main() 
{
      int n1,n2;
      char s3[10];
      const char s1[]="Programma", s2[]="Texnika";
      cout<<"s1="<<s1<<endl;
      cout<<"s2="<<s2<<endl;
      cout<<" n1=";
      cin>>n1;
      cout<<endl;
      cout<<" n2=";
      cin>>n2;
      cout<<endl;
      strncat(s3,s1,n1);
      strncat(s3,s2,n2);
      for(int i = strlen(s2)-n2, k = 0; i < strlen(s2); i++, k++)
              s3[k] = s2[i];
      cout<<"s3="<<s3<<endl;
      system("PAUSE");
      return 0;
      }
вот сделал но саровно не копирует последние символы из 2-строки в 3-ю
FauLL вне форума   Ответить с цитированием
Старый 15.06.2010, 21:09   #7
alex_alpha
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 43
По умолчанию

Мой вариант. Вроде бы все работает...
Код:
#include <iostream>
#include <string.h>
using std::cout;
using std::cin;
using std::endl;
int main() 
{
      int n1=2,n2=2;
      char s1[]="Programma", s2[]="Texnika";
	  char *s3;
	  s3=new char[n1+n2+1];
	  s3[0]='\0';
      cout<<"s1="<<s1<<endl;
      cout<<"s2="<<s2<<endl;
	  cout<<"s3="<<s3<<endl;
     /* cout<<" n1=";
      cin>>n1;
      cout<<endl;
      cout<<" n2=";
      cin>>n2;*/
      cout<<endl;
      strncat(s3,s1,n1);
      //strncat(s3,s2,n2);
      for(int i = strlen(s2)-n2, k = n1; k<(n1+n2); i++, k++)
              s3[k] = s2[i];
	  s3[n1+n2]='\0';
      cout<<"s3="<<s3<<endl;
      system("PAUSE");
      return 0;
}
alex_alpha вне форума   Ответить с цитированием
Старый 16.06.2010, 13:54   #8
FauLL
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 15
По умолчанию

Спасибо всем большое
FauLL вне форума   Ответить с цитированием
Старый 16.06.2010, 17:12   #9
FauLL
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 15
По умолчанию

Не буду создавать новую тему отпишусь здесь. Вопрос таков:
Даны векторы X={x1, x2, x3}, Y={у1, у2, у3} и Z={z1, z2, z3}. Построить матрицу A(3,3), строками которой являются соответственно векторы X,Y и Z, упорядоченные в порядке возрастания значений их компонент. Ввод элементов массива, упорядочение вектора по возрастанию оформить в виде подпрограммы.

Код:
#include <iostream.h>
main(){
       int A[3][3];
       int i,j;
       cout<< "Vvod A" <<endl;
       for ( i=0; i<3; i++)
       for ( j=0; j<3; j++)
       	{
		cout << "M["<<i<<"]["<<j<<"]=";
		cin >>A[i][j];
	}
{
    if (A[i][j]> A[i+1][j+1])
{ 
    int hold =A[i][j];
   A[i][j]=A[i+1][j+1];
    A[i+1][j+1]=hold;
}
}
cout<<"Vivod A"<<A[i][j]<<endl;
system("PAUSE");
return 0;
}
ни как не доведу до
FauLL вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Удаление элементов строки s2 из строки s1 Ueshua Общие вопросы C/C++ 4 20.12.2009 14:06
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 10:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27


12:50.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.