Перейти к содержимому


- - - - -

Срочно!Помогите пожалуйста с заданиями по С++


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 nextik

nextik

    Новичок

  • Members
  • Pip
  • 6 сообщений

Отправлено 24 Май 2010 - 10:37

Помогите пожалуйста,до среды надо сдать,а я вообще никакого понятия не имею как надо делать подобные задания
учусь на 1-ом курсе,и до конца не разобралась в С++,так как раньше проходила Паскаль)
Буду очень благодарна за помощь)

Вот и сами задания)

1.Ввести текст,состоящий из одной строки длиной не более 70 символов.Каждому слову текста,кроме первого,должен предшествовать один пробел.Если в тексте имеются знаки препинания,то они записываются непосредственно после последней буквы предшествующего слова.Пробелы в середине слова не допускаются.
В тексте должно быть одно предложение из трёх слов
Написать программу,которая:
1)выводит на экран дисплея исходную строку
2)формирует новую строку,в которой слова предложения разделяются запятыми
3)выводит на экран дисплея сформированную строку

2.Найти сумму элементов каждой строки матрицы Z,размером(PxQ).(P и Q не привышает 10,их значения ввести из файла вместе с матрицей)
Результаты записать в одномерный массив S.
Вывести на печать исходный и результирующий массивы.

3.Дана действительная квадратная матрица А порядка N.
Получить новую матрицу В,представляя её блоки,размера N/2 x N/2 в соответствии с рисунком
Изображение

#2 Baltika80

Baltika80

    Втянувшийся

  • Members
  • PipPipPip
  • 182 сообщений
  • Пол:Мужчина

Отправлено 29 Май 2010 - 10:33

последние задание не понял.

#3 nextik

nextik

    Новичок

  • Members
  • Pip
  • 6 сообщений

Отправлено 29 Май 2010 - 14:36

Цитата

последние задание не понял.
ну,его как раз и не обязательно делать...я тоже это задание не поняла,и по-моему преподша тоже...

#4 Baltika80

Baltika80

    Втянувшийся

  • Members
  • PipPipPip
  • 182 сообщений
  • Пол:Мужчина

Отправлено 29 Май 2010 - 15:58

непонятно.
во втором задании файл с бинарными или текстовыми данными необходимо читать.

Сообщение отредактировал Baltika80: 29 Май 2010 - 15:58


#5 Baltika80

Baltika80

    Втянувшийся

  • Members
  • PipPipPip
  • 182 сообщений
  • Пол:Мужчина

Отправлено 29 Май 2010 - 17:59

В силу того что надо читать P и Q из файла предпологаю что данные должны хранится в двоичном виде.

ЗАДАНИЕ1


#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;
int main(int argc, char *argv[])
{
  char * inputstr = new char[70];
  char * tmpstr = inputstr;
  char i1;
  cout << "Введите текст:" << endl;
  if (!inputstr)
  {
cout << "Память не может быть выделена" << endl;  
return EXIT_SUCCESS;
  }
  while(cin.getline(inputstr,70,'\n') && (i1 < 70)) i1++;
  cout << "Исходная строка:" << endl << inputstr << endl;
  while(*(inputstr++)) if ((*inputstr) == ' ') (*inputstr) = ',';
  inputstr = tmpstr;
  cout << "Текст после преобразования:" << endl << inputstr << endl;
  // память под inputstr удалится сама по завершению процесса
  return EXIT_SUCCESS;
}

ЗАДАНИЕ2

#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;

int main(int argc, char *argv[])
{
//
#define mydtype char
#define initmode 1

#ifdef initmode // режим инициаллизации массива и нормальный
#undef initmode // закоментировать эту строку при инициаллизации массива
#define cP 5
#define cQ 7
  mydtype initarr[] = {cP,cQ,11,2,3,4,5,6,7,
22,3,4,5,6,7,1,
33,4,5,6,7,1,2,
44,5,6,7,1,2,3,
55,6,7,1,2,3,4};
#endif
  mydtype matrix[10];
  mydtype P,Q; // строки столбцы
  mydtype sum = 0,tsum;
  char i1=0,j1=0,k1 = 0;

#ifdef initmode
ofstream out_file("dmatrix.bin",ios::out);
  if (!out_file)  {
        cout << "Файл не может быть открыт" << endl;
return 1;
  };
  out_file.write(initarr,(cP*cQ+2)*sizeof(mydtype));
  out_file.close();
  return EXIT_SUCCESS;
#endif

  ifstream in_file("dmatrix.bin",ios::in);
  if (!in_file)  {
        cout << "Файл не может быть открыт" << endl;
return 1;
  };
  in_file.seekg(0);
  in_file.read(&P,sizeof(mydtype));
  in_file.read(&Q,sizeof(mydtype));
  cout << "Исходный массив:" << endl;
  while ( (!in_file.eof()) && (i1<P)){
  j1 = 0;
  while ( (!in_file.eof()) && (j1++<Q)){
         in_file.read(&tsum,sizeof(mydtype));
sum += tsum;
cout << (int)tsum << "--";
     }
   matrix[i1++] = sum; sum = 0;
         cout << endl;
  };
  if (((j1-1)*i1) != P*Q) cout << "Неожиданный конец файла" << endl;
else {
cout << "сумма строк массива:" << endl;
for (i1 = 0;i1 < P; i1++) cout << (int) matrix[i1] << "--";
}
  cout << endl;
  // файл будет закрыт по завершению процесса
  return EXIT_SUCCESS;
}

#6 nextik

nextik

    Новичок

  • Members
  • Pip
  • 6 сообщений

Отправлено 30 Май 2010 - 13:16

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

#7 nextik

nextik

    Новичок

  • Members
  • Pip
  • 6 сообщений

Отправлено 30 Май 2010 - 20:31

у меня компилятор выдаёт ошибки(((
в первом задании в 10 строчке и во втором задании в 55...((((

#8 Baltika80

Baltika80

    Втянувшийся

  • Members
  • PipPipPip
  • 182 сообщений
  • Пол:Мужчина

Отправлено 30 Май 2010 - 20:49

Выходит у нас разные компиляторы или набор заголовочных файлов.
Какой у тебя компилятор ?
Я уже давно виндовыми компиляторами (как и самой виндой) не пользуюсь поэтому мало что могу тут сделать.

Сообщение отредактировал Baltika80: 30 Май 2010 - 21:10


#9 nextik

nextik

    Новичок

  • Members
  • Pip
  • 6 сообщений

Отправлено 31 Май 2010 - 21:48

Bloodshed Dev-C++

#10 Suzeren

Suzeren

    Хранитель форума

  • Members
  • PipPipPipPipPipPipPipPip
  • 3 189 сообщений

Отправлено 31 Май 2010 - 22:53

Проще и лучше было бы написать КАКИЕ ошибки выдает :lol: сразу бы стало понятно как исправить.

#11 nextik

nextik

    Новичок

  • Members
  • Pip
  • 6 сообщений

Отправлено 31 Май 2010 - 23:14

в Первой программе
cc1plus: warnings being treated as errors
In function 'int main(int, char**)':
Line 10: warning: 'i1' may be used uninitialized in this function
во второй программе
cc1plus: warnings being treated as errors
In function 'int main(int, char**)':
Line 55: warning: array subscript has type 'char'
Line 61: warning: array subscript has type 'char'

#12 Suzeren

Suzeren

    Хранитель форума

  • Members
  • PipPipPipPipPipPipPipPip
  • 3 189 сообщений

Отправлено 31 Май 2010 - 23:53

Не проверял адекватность программы, но по крайней мере она запустилась из под Borland C++ Builder 6.0. С тем учетом что добавил при подключении заголовочных файлов все-таки ".h". ;) В Visual Studio 2008 тоже запустилось... Вообще, у тебя ж написано что варнинги, а не ошибкаи :) Есть уверенность что программа не запустилась? Может просто незаметно было как промелькнуло что-то полезное? :lol:

#13 Baltika80

Baltika80

    Втянувшийся

  • Members
  • PipPipPip
  • 182 сообщений
  • Пол:Мужчина

Отправлено 31 Май 2010 - 23:56

Это замечания (ворнинги), а не ошибки.
когда ошибки компилятор пишит error а не warning
Предыдущий автор прав. Наверно стоит добавить расширение .h к имена хидеров.

Есстетвенно я проверял адекватность программы (и не раз) перед тем как выкладывать, но полного тестирования не проводил. думую оно здесь излишне как и использование классов исключений :lol:

Сообщение отредактировал Baltika80: 01 Июнь 2010 - 00:01





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных