Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Помогите решить задачу по С++

Закрытая тема
Настройки темы
C/C++ - [решено] Помогите решить задачу по С++

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 20-12-2011
Описание: правила
  1. По заданному натуральному(целому) числу, определить количество цифр и найти их сумму.
  2. По заданному натуральному(целому) числу, определить количество цифр и найти их сумму. Из указаного диапазона n и m
  3. Выполнить инвертирование трех одномерных массивов: А[20], В[10], С[15]. Написать функции: -Заполнение массива числами в диалоговом режиме. -Вывода одномерного массива -Инвертирование одномерного массива.
  4. Определитьдля каждого из трех одномерных массивов : A[45], B[10], C[20] сколько раз в них встретились два подряд идущих нулевых элемента. Написать функции: -Заполнение массива числами в диалоговом режиме. -Вывода одномерного массива. -Определения количества двух подряд идущих нулевых элементов в одномерном массиве.


Выдержка из правил форума
Цитата:
Вопросы, в которых нет кода и следов ваших размышлений над поставленной задачей также будут перенесены в закрытую тему - Уголок Ленивого Программиста

Исходное сообщение автора

Задание: Написать прогу, которая по заданному натуральному числу определяет количество цифр в нем и их сумму.Протестируйте функцию десятичных чисел из некоторого диапазона от n до m.

Отправлено: 14:54, 27-09-2008

 

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата kkapel:
У меня же нужен динамический массив,а я использую указатели,что делать? »
Не понял вашего вопроса. Перефразируйте его.
Если это
Цитата kkapel:
мне бы надо постоянные массивы »
то убрать создание динамических массивов и запрос ввода размера n и m.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 16:09, 27-11-2010 | #161



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#include <iostream>

using namespace std;
int main(){
int n;
int g=0;
char asd[10000][10000];
cin>>n;
for (int i=0; i<n; i++){
	for (int j=0; j<n; j++){
     cin>>asd[i][j];
	}
}    
	for (int i=0; i<n; i++){
	    for (int j=0; j<n; j++){
       if ((i+j)%2==0)
			if (asd[i][j]<asd[i+1][j] && asd[i-1][j]<asd[i][j+1] && asd[i][j]<asd[i][j-1]	  
	   && asd[i][j]<asd[i+1][j+1] && asd[i][j]<asd[i-1][j-1] && asd[i][j]<asd[i+1][j-1] 
	   && asd[i][j]<asd[i-1][j+1] && asd[i][j]<asd[i+1][j])
		   g++;
    else if ((i+j)%2==1)
    if (asd[i][j]<asd[i-1][j] && asd[i][j]<asd[i-1][j+1] && asd[i][j]<asd[i+1][j] && asd[i][j]<asd[i+1][j+1] && asd[i][j]<asd[i][j+1])
   g++;
  else if ((i+j==n-1 || i+j==0))
   if (asd[i][j]<asd[i-1][j] && asd[i][j]<asd[i-1][j+1] && asd[i][j]<asd[i][j+1])
    g++;


	    }
	}	
	cout<<g;
	
	
	return 0;
}

Последний раз редактировалось Drongo, 01-12-2010 в 00:31. Причина: Оформляйте листинки тегом [code] - # иначе буду удалять такие сообщения!


Отправлено: 13:26, 29-11-2010 | #162


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вводится последовательность слов различной длины(не более 10 символов).Слова разделены пробелом.В конце последовательности стоит символ "точка".Необходимо составить структурированную программу для печати слов в 2 стлбца так чтобы в левом столбце печатались слова длиной<=5 символов а в правом больше 5.Помогите пожалуйста((

//по идее нужно объявить 2 массива,чтобы один заполнялся словами меньше 5 а другой больше 5...правда сложновато как то((

Отправлено: 21:07, 30-11-2010 | #163


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


DennyD, Сначала вам нужно предложение разбить на лексемы(на отдельные слова) и поместить все слова в массив(WordArray), дальше проходя по этому массиву в цикле проверять функцией strlen длину слова и если меньше или равно пяти помещать в массив WordMinimum иначе в WordMaximum

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 00:44, 01-12-2010 | #164


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


То есть идя по первоначальной строке натыкаясь на символ пробел добавляем слово в массив(word array)?

Отправлено: 10:14, 01-12-2010 | #165


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


можно поподробнее пожалуйста

Цитата Drongo:
Сначала вам нужно предложение разбить на лексемы(на отдельные слова) и поместить все слова в массив(WordArray) »

Отправлено: 11:07, 01-12-2010 | #166


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


DennyD, Ммм... К сожалению я не умею динамически создавать массив указателей на char. Смог сделать разбивку предложений по словам

Код: Выделить весь код
#include <iostream>
using namespace std;
#include <cstring>

const int size = 510;
const int sizeLeksem = 250;  // размер массива лексем

int main()
{
   char tekst[size];
   const char *leksem[sizeLeksem]; // массив указателей на лексемы
   char *tokenPtr;   // переменная-указатель на лексемы
   int index,
       min = 0,
       max = 0,
       counterLeksem = 0;  // счётчик обработаных лексем в массиве указателей "*leksem"

   cout<<"  ENTER TEKST NE BOLSHE 510 SIMVOLOV\n";
   cin.getline(tekst, size, '\n');

   // Разбиваем полученый текст на слова и помещаем каждое слово в массив "leksem"
   tokenPtr = strtok(tekst, " ");    // найти первую лексему
   leksem[counterLeksem] = tokenPtr;  // присвоить первую лексему массиву указателей
   while(tokenPtr != NULL){   // пока указатель на лексему не равен NULL, продолжать
      leksem[counterLeksem] = tokenPtr;  // присвоить следующую лексему массиву указателей
      if(strlen(tokenPtr) <= 5) // Сколько найденых слов с буквами меньше 5
         min++;
      else  // Сколько найденых слов с буквами больше 5
         max++;
         ++counterLeksem;   // перейти к следующему индексу массива
         tokenPtr = strtok(NULL, " ");  // нахождение следующей лексемы
    }

   // Динамически создаём массив указателей на char
   // Раскидываем слова меньше пяти букву и больше пяти букв
   // По своим массивам.
   // вот тут у меня загвозка, не могу создать массив указателей
   char *wordMin = new char[min];
   char *wordMax = new char[max];

   min = 0;
   max = 0;

   for(int i = 0; i < counterLeksem; i++){
      if(strlen(leksem[i]) <= 5)
         wordMin[min++] = leksem[i];
      else
         wordMax[max++] = leksem[i];
     }

   for(int j = 0; j < min; j++)
      cout<<"Word Minimum 5 = "<<wordMin[j]<<endl;

   for(int a = 0; a < max; a++)
      cout<<"Word Maximum 5 = "<<wordMin[a]<<endl;

   cin>>min;

   return 0;
}

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 16:57, 01-12-2010 | #167


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


по идее легче делается возможно даже без указателей,подойду к преподу завтра может че подскажет дельное,ну спасибо во всяком случае))

Вот еще задачка не знаю как сделать((

задана некоторая запись длиной N в которой подряд несколько одинаковых символов.Составить программу вывода расположеных подряд символов и их колличества,т.е. ожидаемый результат:
ВВод:ааььттти
Вывод:а-2
ь-2
т-3

Отправлено: 22:46, 02-12-2010 | #168


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


DennyD, просматривать строку, попутно считая кол-во повторов символа. Как только перестал повторяться, делаем соотв. вывод.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 09:33, 03-12-2010 | #169


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


задана некоторая запись длиной N в которой подряд несколько одинаковых символов.Составить программу вывода расположеных подряд символов и их колличества.
Вот моя программа:
Код: Выделить весь код
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#define n 80
void main()
{
char S[n];
int i,k;
gets(S);
for (i=0;i<strlen(S)-1;i++)
if (S[i]==S[i+1])
{
k=1;
k=k+1;
cout<<S[i]<<"-"<<k<<"\n";
}
k=0;
getch();
}


что надо исправить чтобы считала более 2х символов расположеных подряд?
То есть при вводе "аассс" мне выдается результат а-2,с-2,с-2.

Последний раз редактировалось Drongo, 05-12-2010 в 21:14. Причина: Оформляйте код тегом [code] = # последнее предупреждение!!!


Отправлено: 15:45, 05-12-2010 | #170



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Помогите решить задачу по С++

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Помогите решить задачу Urann Программирование и базы данных 11 14-05-2013 11:44
Разное - Помогите решить задачу в Excel Dgonny Программирование и базы данных 2 16-11-2009 04:11
C/C++ - Помогите решить задачу zdughi Программирование и базы данных 1 01-05-2009 06:03
помогите решить задачу snikers Программирование и базы данных 2 27-08-2004 01:57
помогите решить задачу Guest Программирование и базы данных 2 21-05-2004 11:23




 
Переход