Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2012, 01:34   #1
ALEX777a
 
Регистрация: 16.05.2010
Сообщений: 4
По умолчанию Работа со строками(С++)

Программа вводит несколько строк(не более 24), среди которых имеются совпадающие (возможно несколько совпадающих строк).После ввода выполняется вывод, в котором из каждой группы совпадающих строк участвует только по одной строке.
Заранее спасибо!
ALEX777a вне форума Ответить с цитированием
Старый 19.10.2012, 02:03   #2
ALEX777a
 
Регистрация: 16.05.2010
Сообщений: 4
По умолчанию

что то типа этого
здесь только ошибка требуется обновление
public static void main(String args[]) {
String s1="Hello";
String s2="Hello";
String s3="Good-bye";
String s4="HELLO";
System.out.println(s1+"equals"+s2+"->"+s1.equals(s2));
System.out.println(s1+"equals"+s3+"->"+s1.equals(s3));
System.out.println(s1+"equals"+s4+"->"+s1.equals(s4));
System.out.println(s1+"equalsIgnore Case"+s4+"->"+
s1.equalsIgnoreCase(s4));
ALEX777a вне форума Ответить с цитированием
Старый 19.10.2012, 02:31   #3
ALEX777a
 
Регистрация: 16.05.2010
Сообщений: 4
По умолчанию

Код:
 
// String.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"



#include <iostream>
#include <cstring>
#include <cstdlib>

using namespace std;

int main()
{ int d,fl;
  char str1[20], str2[20];
  char sym1[256] = {0}, sym2[256] = {0};

  // Ввод данных
  cout << "Введите первую строку:" << endl;
  cin.getline(str1, 20);
  
  cout << "Введите вторую строку:" << endl;
  cin.getline(str2, 20);


  // Заполняем массивы символов. Массивы sym1 и sym2 устроены следующим образом:
  // в sym[n] хранится, сколько раз символ с кодом n встречался в строке.
  // разумеется, если наши строки состоят только из строчных латинских букв,
  // хранить 256 значений не имеет смысла и можно ограничиться 26-ю.
  int len = strlen(str1);
  for (int i = 0; i < len; ++i)
  {
    ++sym1[str1[i]];
    ++sym2[str2[i]];
  }
  
  // Проверяем, соответствует ли число использований для каждого символа в обоих строках
   if (strlen(str1) == strlen(str2))
   {for (int i = 0; i < 256; ++i)
  {
    if (sym1[i] != sym2[i])
    {
      fl=1;
      
    }

  }
  if (fl==1){cout << "Ne Ravni" << endl;}
  else {cout << " Ravni" << endl;}}
   else  {cout << "Ne  Ravni" << endl;}
  // Если все проверки (на равенство длины и на число использований каждого символа)
  // пройдены, пишем, что строки равны и выходим
  
  cin>>d;
  
}

Последний раз редактировалось ALEX777a; 19.10.2012 в 02:33.
ALEX777a вне форума Ответить с цитированием
Старый 20.10.2012, 20:20   #4
programka311
 
Регистрация: 08.10.2012
Сообщений: 8
По умолчанию

Подскажите как сделать. С чего начать.
Выдать на печать слова в следующем порядке: вначале все слова из одной буквы, затем из двух и т.д.
programka311 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками. asmars Общие вопросы C/C++ 2 07.04.2012 10:08
Работа со строками deadmaross Помощь студентам 1 08.04.2011 18:07
работа со строками Antil Помощь студентам 0 12.12.2010 20:08
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Работа со строками FunnyDev1l Помощь студентам 4 19.05.2010 08:30