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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2008, 16:56   #1
Stager
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 41
По умолчанию Помогите решить две задачи на С++!

Скоро зачёт, а ещё столько задачь осталось, пмгите решить эти две задачи plz.
1)Посчитайте, сколько раз в слове встречается слово "ко". Вставьте в слове после каждой буквы, стоящей на нечётном месте, пробел.
2)Составьте программу для вычисления средних значений положительных элементов каждой строки матриц А(5,8), В(4,8), с использованием процедур.
Stager вне форума Ответить с цитированием
Старый 23.11.2008, 18:01   #2
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Это типо за тебя написать??? Или тебе помочь???
StarWorm вне форума Ответить с цитированием
Старый 23.11.2008, 18:04   #3
ivan89
Пользователь
 
Аватар для ivan89
 
Регистрация: 22.09.2008
Сообщений: 59
По умолчанию

1)Посчитайте, сколько раз в слове встречается слово "ко". Вставьте в слове после каждой буквы, стоящей на нечётном месте, пробел.
Код:
#include <iostream>
#include <conio.h>
using namespace std;
void vstavka(char *t)
{
	int k=0;
	char st1[255];
	for(int i=0; i<strlen(t)-1; i++)
	{
		if(i%2==0)
		{
			st1[k]=t[i];
			k++;
			st1[k]=' ';
		}
		else
		 st1[k]=t[i];
		  k++;
	}
	st1[k]='\0';
	cout<< st1 <<endl;
}
int main()
{

    char st[256];
	int t=0,k=0;
	cout<<"vvedi strku\n";
	 cin.get(st,256);
	 for(int i=0; i<strlen(st); i++)
	 { 
		 if(st[i]!=' ')
		    t++;
                     if(st[i]==' '|| st[i]=='.')
		 {
			 for(int j=i-t; j<i; j++)
			 {
			  cout<<st[j]; 
			 if(st[j]=='k' && st[j+1]=='o')
			    k++;
				
			 }
			   cout<<endl;	
			    cout<<"ko="<< k <<endl;
				k=0;
				t=0;
		 }
	 }
	 cout<<"zadanie 2\n";
       vstavka(st);
	   getch();
	 return 0;
}
ivan89 вне форума Ответить с цитированием
Старый 23.11.2008, 18:22   #4
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Вот тебе функция, в которую передаешь
строку и подстроку... Она говорит сколько вхождений
Код:
int countSimbol(char* str,char* subStr)
{
	int count=0;
	char* pos=str;
	while(strstr(pos,subStr)!=0)
	{
		count++;
		if((strstr(pos,subStr)+1)!=NULL)
			pos=strstr(pos,subStr)+1;
		else
			break;
	}
	return count;
}
StarWorm вне форума Ответить с цитированием
Старый 23.11.2008, 18:33   #5
ivan89
Пользователь
 
Аватар для ivan89
 
Регистрация: 22.09.2008
Сообщений: 59
По умолчанию

2)Составьте программу для вычисления средних значений положительных элементов каждой строки матриц А(5,8), В(4,8), с использованием процедур.
Код:
#include <iostream>
#include <conio.h>
int n,m;
using namespace std;
void Ras(int mas[][8])
{
	int sum=0,k=0;
	for(int i=0; i<n; i++)
	{
	  for(int j=0; j<m; j++)
              if(mas[i][j]>0)
	  {
              sum+=mas[i][j];
               k++;
	  }
	 cout<<"vstroke "<< i <<":="<< sum/k <<endl;
	  sum=0;
	 k=0;
	}
}
void vvod(int mas[][8])
{
	cout<<"n;=";
	  cin>>n;
            cout<<"m:=";
	  cin>>m;
	for(int i=0; i<n; i++)
	 for(int j=0; j<m; j++)
	   cin>>mas[i][j];
}
int main()
{
	int a[6][8],b[6][8];
	  cout<<"masiv a\n";
              vvod(a);
	  cout<<endl;
	    Ras(a);
	  cout<<"masiv b\n";
             vvod(b);
	  cout<<endl;
	    Ras(b);
		return 0;
}
ivan89 вне форума Ответить с цитированием
Старый 23.11.2008, 19:09   #6
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Цитата:
Сообщение от Stager Посмотреть сообщение
2)Составьте программу для вычисления средних значений положительных элементов каждой строки матриц А(5,8), В(4,8), с использованием процедур.
Вот решение!!!
Код:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <ctime>

using std::cin;
using std::cout;

void srednee(int arr[][8],int dimStr,int dimCol)
{
	float middle=0.;
	int count=0;
	for(int i=0;i<dimStr;i++)
	{
		middle=0;count=0;
		for(int j=0;j<dimCol;j++)
			if(arr[i][j]>0)
			{
				middle+=arr[i][j];
				count++;
			}
		middle/=count;
		cout<<"In string #"<<i+1<<" srednee = "<<middle<<"\n";
	}
}

void printArr(int arr[][8],int dimStr,int dimCol)
{
	for(int i=0;i<dimStr;i++)
	{
		for(int j=0;j<dimCol;j++)
		{
			cout.width(3);
			cout<<arr[i][j];
		}
		cout<<"\n";
	}
}

int main()
{
	srand(time(NULL));
	int A[5][8],B[4][8];
	for(int i=0;i<5;i++)
		for(int j=0;j<8;j++)
			A[i][j]=rand()%20-10;
	for(int i=0;i<4;i++)
		for(int j=0;j<8;j++)
			B[i][j]=rand()%20-10;
	cout<<"Array A:\n";
	printArr(A,5,8);
	cout<<"\nSrednee in array A:\n";
	srednee(A,5,8);
	cout<<"\n\nArray B:\n";
	printArr(B,4,8);
	cout<<"\nSrednee in array B:\n";
	srednee(B,4,8);

	getch();
	return 0;
}
StarWorm вне форума Ответить с цитированием
Старый 23.11.2008, 19:10   #7
Stager
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 41
По умолчанию

Всем Большое Спасибо!
Stager вне форума Ответить с цитированием
Старый 23.11.2008, 20:50   #8
емеля
Новичок
Джуниор
 
Регистрация: 22.11.2008
Сообщений: 1
По умолчанию

Ребята а где б посмотреть поподробней про строки с самого начала так чтобы и чайнику понятно было, интерес представляет также считывание из таблиц текстового файла ..книжки есть но как то всё ориентировано на уже имеющих опыт пользователей.
Если более конструктивно то:
1) С чего начать ?
1.1 )есть текстовый файл из него надо считать информацию
как оформить начало ?

2)Что нужно сделать во время работы с файлом ?
2.2)считывание только первых 10 строк
знать бы тонкости работы со строками


3) Информация считана

3.3) Присвоить значения переменным для дальнейшего
использования в приложении
Как будет представлена инфа ?(В каком виде?)


пысы:
и самое наверное глупое
Описание функций работы с файлами находятся в библиотеке stdio.h

как её открыть чтобы посмотреть описание

Заранее спасибо.
емеля вне форума Ответить с цитированием
Старый 23.11.2008, 21:40   #9
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Бьерн Страуструп "Введение в язык С++", там все написано для начинающих. И про строки и про файлы. Можешь почитать еще П.Дж.Дейтел, Х.Дейтел "Как программировать на С++". Я сам учился по второй книге, а в первой до сих пор нахожу для себя новое.

ПыСы: кстати, много книг (и не только по С++) вот здесь. Хотя тут немного больше

Последний раз редактировалось MaTBeu; 23.11.2008 в 21:45.
MaTBeu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пожалуйста, помогите решить две задачи очень надо! Sabber Паскаль, Turbo Pascal, PascalABC.NET 6 22.10.2008 13:57
Помогите решить две задачи polukrovka Паскаль, Turbo Pascal, PascalABC.NET 6 22.10.2008 11:36
Помогите решить две задачи на С/С++ Сема Помощь студентам 3 24.12.2007 07:31
Помогите решить две задачи с массивами SHiZiK Помощь студентам 3 21.12.2007 10:01
Помогите решить две задачи! очень прошу... DmT Фриланс 1 23.10.2007 23:19