Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Заказы "Сделайте все за меня"


Рекомендуемые сообщения

merody

#include <iostream>#include <cstdlib>#include <cstring>using namespace std;int main(){char str[1000],*w,c,r[]="\n\t ,.!?\r"; int k=0;cout<<"Enter text:\n"; cin.getline(str,1000);cout<<"Enter letter:\n"; c=cin.get();w=strtok(str,r); while(w){if(w[strlen(w)-1]==c)k++; w=strtok(0,r);}cout<<"words '..."<<c<<"': "; cout<<k<<endl; cin.get();cout<<"Press Enter for exit\n"; cin.get();}

Тут рассчитано на текст с латинскими буквами. С русскими в C++ бывают сложности.

Огромное спасибо :3

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
Приветствую! 

Будьте добры, подскажите, как решить данную задачу в Pascal.

Дана строка символов. Группы символов, разделенные пробелами и не 

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

на экран все слова, начинающееся с буквы ‘А’.

Ссылка на комментарий
Поделиться на другие сайты

var s:string; i,j:integer;beginreadln(s); s:=' '+s+' '; writeln;for i:=2 to length(s) do   begin   if(s[i-1]=' ')and(s[i]<>' ')then j:=i;   if((s[j]='A')or(s[j]='a'))and(s[i]=' ')and(s[i-1]<>' ')      then writeln(copy(s,j,i-j));   end;write('Press Enter for exit'); readlnend.

Тут у меня принято, что A - английская, но может быть и маленькой a. Легко при необходимости подкорректировать для только заглавной или (и) русских букв

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте! Будьте добры, помогите с решением. Pascal.

Задание. 

1. Составить алгоритм решения задачи и написать программу, которая его 
реализует. 
2. Написать функцию и модернизировать программу. 
3. Заменить функцию процедурой и вновь изменить программу. 
В результате должно получиться три программы,
 

В выводах, в числе прочего, обязательно объяснить какие изменения 
понадобилось внести в каждую программу и ответить на вопрос: «Какой вид 
подпрограмм лучше всего использовать для решения Вашей задачи и почему?» 

123.jpg

post-119135-0-14888700-1394436013_thumb.

Ссылка на комментарий
Поделиться на другие сайты

PushStark

1)

var a,b,d,x,y:real; i:integer;beginwrite('Введите a b delta: '); readln(a,b,d); x:=a;writeln('     X           Y');repeatif x<=-6 then y:=-1/(x-5)else if x<0 then y:=sin(3*x)/xelse y:=cos(x*x*x)/(x*x+2*x+3);writeln(x:12:5,y:12:5); x:=x+duntil x>b;writeln('Для выхода нажмите Enter'); readlnend.

2)

var a,b,d,x:real; i:integer;function y(x:real):real;  begin  if x<=-6 then y:=-1/(x-5)  else if x<0 then y:=sin(3*x)/x  else y:=cos(x*x*x)/(x*x+2*x+3)  end;beginwrite('Введите a b delta: '); readln(a,b,d); x:=a;writeln('     X           Y');repeat writeln(x:12:5,y(x):12:5); x:=x+d until x>b;writeln('Для выхода нажмите Enter'); readlnend.

3)

var a,b,d,x,y:real; i:integer;procedure p(x:real; var y:real);  begin  if x<=-6 then y:=-1/(x-5)  else if x<0 then y:=sin(3*x)/x  else y:=cos(x*x*x)/(x*x+2*x+3)  end;beginwrite('Введите a b delta: '); readln(a,b,d); x:=a;writeln('     X           Y');repeat p(x,y); writeln(x:12:5,y:12:5); x:=x+d until x>b;writeln('Для выхода нажмите Enter'); readlnend.

Первое алгебраическое выражение в пределах области его применимости легко упрощается, что и сделано в тексте программы.

Не совсем ясно также, что означает cos(x)³. В программе принято, что это cos(x³), что больше соответствует общепринятому способу записи. Возможен также вариант, что имелось в виду cos³(x), но при кодировании был принят первый вариант.

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

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

Изменено пользователем Тролль
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Привет всем)

 

Хотела попросить помощи с программированием в языке С.

Строго надо использовать Функцию (рекурсию и массивы).

 

 

Вот задания:

 

1. Напишите рекурсивную программу, которая будет проверять правильно ли скобки вложены. Ваша программа будет читать строку из стандартного ввода (вы можете предположить, что это не более 256 символов) и печатать на стандартный вывод 1, если все скобки правильно подобранны, или 0 в противном случае. Попробуйте написать свою программу по модульному принципу, то есть используйте функцию.

 

Пример:

Ввод      

()(()){([()])}

((()(()){([()])}))

)(()){([()])}

({[])}

(

Empty String

 

Ответ:

1

1

0

0

0

1

 

 

2. Напишите рекурсивную программу, которая будет считывать входную строку из стандартного ввода и проверить, если это палиндром или нет. Если введен палиндром ваша программа выводит 1, в противном случае он будет печатать 0.

 

Вы можете считать, что длина входной строки не превосходит 256 символов. Напишите программу по модульному принципу, то есть функции использования. 
Вот некоторые входы выборки и соответствующие выходы (обратите внимание на символы могут быть как верхний и нижний регистр или смешанный случай):
 
Пример:
Ввод
Civic
live not on evil
Hello
123321
a
 
Вывод:
1
1
0
1
1

 

 

 

3. Напишите программу, которая вычисляет простые арифметические выражения, которые содержат только + и - операции. Ваша программа будет считывать данные с входного файла с именем input.txt. Формат файла выглядит следующим образом: 

N - это количество строк в файл
d1 ± d2 ± ... ± дм. - Выражение с m чисел, что заканчивается на "." 
Выход программы будет N чисел (по одному в строке), где каждое число является значение соответствующего алгебраического выражения. 
Вот пример входного файла и соответствующего выхода.
 
Ввод:
3
23+11-10-1.
1+2+3+4+5.
0+0+0+0+0+1+0+0+0+0.
 
Ответ:
 
23
15
1

 

4. Ваша программа считывает строку из файла с именем input.txt. Длина строки не превосходит 200 символов. Ваша программа должна заменить все TAB символы одним символом пробела, и заменить все двойные пробелы одним символом пробела. Вы не можете использовать функции из string.h библиотеки. Ваша программа будет печатать новую строку в стандартный вывод (копия оригинала без вкладок и двойные пробелы).

 

Пример:

Ввод:

qwer    adf                        dfasdf                                                adf

Вывод

qwer adf dfasdf adf

 

5. Ваша программа читает входную строку из файла с именем input.txt. Длина строки не превосходит 256. Удалите все слова из строки, которые содержат цифры. Распечатайте полученную строку на консоль. 

Пример входного файла с соответствующего выхода:
 
Пример:
Ввод:
adsf lkw3er kl324df 9kjldf lkjsd lj11111fw 938434 sdfj kljdssf2 dfd
 
Вывод:
adsf lkjsd sdfj dfd

 

 

 

 

Заранее спасибо за отведенное для меня время)

 
Ссылка на комментарий
Поделиться на другие сайты

Номер 5

#include <stdio.h>#include <string.h>void f(char *str, char *s){   char *p=" ,.-:;",*q="0123456789",*pc; *s=0; pc=strtok(str,p);   while(pc){if(!strpbrk(pc,q))strcat(s,pc),strcat(s," "); pc=strtok(0,p);}}int main(){char str[257],s[257]; FILE *fp;if((fp=fopen("input.txt","r"))==NULL){printf("\nNo file  \n"); getchar(); return 1;}fgets(str,257,fp); f(str,s); printf("%s\nPress Enter for exit\n",s); getchar(); return 0;}

Номер 4

#include <stdio.h>void f(char *str){   int i,j,k; for(i=0;str[i];i++)if(str[i]=='/t')str[i]=' '; if(*str==0)return;   do{k=0; for(i=1;str[i];i++)if(str[i-1]==' '&&str[i]==' ')      for(j=i,k++;str[i];i++)str[i]=str[i+1];}   while(k);}int main(){char str[201]; FILE *fp;if((fp=fopen("input.txt","r"))==NULL){printf("\nNo file  \n"); getchar(); return 1;}fgets(str,201,fp); f(str); printf("%s\nPress Enter for exit\n",str); getchar(); return 0;}

Номер 3

#include <stdio.h>#include <string.h>int f(char *str){   char *p=str; int t,s=0; while(p)sscanf(p,"%d",&t),p=strpbrk(++p," +-"),s+=t; return s;}int main(){char str[256]; FILE *fp; int n;if((fp=fopen("input.txt","r"))==NULL){printf("\nNo file  \n"); getchar(); return 1;}fscanf(fp,"%d",&n); fgets(str,256,fp); while(n--)fgets(str,256,fp),printf("%d\n",f(str)) ;printf("\nPress Enter for exit\n"); getchar(); return 0;}
Изменено пользователем Тролль
  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

Капееееец  :trampoline:  Спасибо, Троль :thank1:  блин, слов нет, тебя отблагодарить))) спасибо большое большое большое)))) 

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
Заполнить массив из N ячеек цифрами из дробной части числа Пи. Найти сумму элементов массива, значение которых не превышает k.

const pi='3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865';

var i,k,n,s:integer; a:array[1..100]of byte;

begin

for i:=1 to 100 do a:=ord(pi[i+2])-ord('0');

write('Количество цифр (<=100): '); readln(n);

write('Верхняя граница суммируемых цифр (<=9): '); readln(k);

s:=0; for i:=1 to n do if a<=k then s:=s+a;

writeln('Сумма = ',s); writeln('Для выхода нажмите Enter'); readln

end.

Двумерный массив MxN заполнить случайными числами в диапазоне от –50 до 50. Поменять местами строку, в которой находится первый нулевой элемент, и строку, вм которой находится последний нулевой элемент.


var i,j,n,m,k,i1,i2:integer; a:array[1..40,1..40]of integer;

begin

write('Введите через пробел размеры матрицы: '); readln(m,n); i1:=0; i2:=0;

randomize; for i:=1 to m do for j:=1 to n do a[i,j]:=-50+random(101); writeln;

writeln('Исходная матрица');

for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln end; writeln;

for i:=1 to m do for j:=1 to n do

   if a[i,j]=0 then if i1=0 then i1:=i else i2:=i;

if i2<>0 then for j:=1 to n do  begin k:=a[i1,j]; a[i1,j]:=a[i2,j]; a[i2,j]:=k end;

writeln('Преобразованная матрица');

for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln end; writeln;

writeln('Для выхода нажмите Enter'); readln

end.

  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Добрый вечер, не могли бы вы помочь с выполнением задания:

 

1)  Input data: seminar page layout.

TAsk: It is necessary to turn the layout into HTML page. Code should be cross browser (IE 6+, Firefox 2.5+, Opera 9.5+) and meet W3C specifications. div/css coding style is preferable.

 

Картинка-задание HTML coding task.zip

 

 

2) А это задание в архиве JS Test Task.rar, там в ПДФ задание написанно

 

Спасибо за помощь

JS Test Task.rar

HTML coding task.zip

Ссылка на комментарий
Поделиться на другие сайты

Цель этого задания – практика с массивами, входными файлами, функциями, структурами, указателями и динамическим распределением памяти в языке С.

 

Задание:

У вас есть файл с именем data.txt, который содержит 100 записей. Каждая запись имеет следующую структуру:

 

Название данных

Тип данных

Значение данных

id

int

Номер студентческого идентификатора

name

char*

имя пользователя

surname

char*

фамилия пользователя

country

char

страна пользователя

town

char

город пользователя

birthday day

int

День рождение

birthday month

int

месяц рождения

birthday year

int

Город рождения

university

char*

название университета

department

char*

название отдела в униврситете

year of graduation

int

Год выпуска

quantity of friends

int

количество друзей

quantity of likes

int

Количество

likes

ids of friends

int

Номер идентификатора друзей

 

 

Задачи:

 

1. Создать структуру, которая называется location и имеет поля country и city.

2. Создать структуру, которая называется date и имеет поля day, month, year.

3. Создать структуру, которая называется education и имеет поля education, department, graduationYear.

4. Создать структуру, которая называется user, имеющий поля id, name, surname, lос, bday,

edu, numFriends, numLikes.

5. Читает информацию из файла data.txt и сохраняет ее на массив указателей к

структуре типа данных user, чтобы в памяти вы получили:

 

 

 

 

 

 

 

 

Примечание 1: для всех типов указателей вы должны использовать динамическое выделение памяти. Всегда проверяйте значение, возвращенное malloc.

Примечание 2: ваш список пользователей должен быть указатель, и вы должны динамически использовать память на 100 пользователей.

 

// Возвращает возраст пользователя в годы

int userAge(user *u) {

return 0;

}

// Выводит всю информацию о пользователе в следующем формате:

//ID: идентификационный  номер

//Name: имя пользователя

//Surname: фамилия пользователя

//Location: страна, город

//Birthday: день/месяц/год

//Education: университет, кафедра, год выпуска

//# Friends: число друзей

//# Likes: число like (‘нравится')

 

void printUser(user* u) {

return;

}

/ / Выводит информацию о всех пользователях, разделенных символом новой строки.

 

void printUsers(user *users){

return;

}

/ / Возвращаеn первого пользователя, чей возраст составляет от age1 до age2 (включительно)

 / / Вернуть NULL, если такой пользователь не существует.

 

user* searchByAge(user *users, int age1, int age2){

return NULL;

}

/ / Вернуть пользователя с идентификатором или NULL, если пользователь не найден.

 

user* searchByAge(user *users, int id){

return NULL;

}

// Вернуть первого пользователя с заданным именем или NULL, если пользователь не найден.

user* searchByName(user *users, char *name){

return NULL;

}

/ / Печатать все имена друзей пользователя

 

void printFriendNames(user *u){

return;

}

Ссылка на комментарий
Поделиться на другие сайты

 

Вариант 13.
уточни, т.к. я не вижу вариант №13

Уточняю, там варианты от 1 до 30. Вариант 13 т.е. тип массива символьный, метод сортировки - прямого выбора.

Ссылка на комментарий
Поделиться на другие сайты

@PushStark, я не помогаю решать, просто увидел ошибку в написании поста.

 

Так что жди ответ от тех кто обычно помогает в решении.

Ссылка на комментарий
Поделиться на другие сайты

PushStark,

program sort13; type ta=array[1..100]of char;procedure sort(var a:ta; n:integer);  var i,j,min:integer;  t:char;  begin  for i:=1 to n-1 do    begin    min:=i;    for j:=i+1 to n do if a[min]>a[j] then min:=j;    t:=a[i]; a[i]:=a[min]; a[min]:=t;    end;  end;procedure output(var a:ta; n:integer);  var i:integer;  begin  for i:=1 to n do write(a[i]); writeln  end;var a:ta; n,i:integer;beginwrite('N (1<=N<=100): '); readln(n); randomize;for i:=1 to n do a[i]:=chr(65+random(26));writeln; output(a,n); writeln; sort(a,n); output(a,n); writeln;writeln('Press Enter for exit'); readlnend.
Изменено пользователем Тролль
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Всем привет! Нужна помощь, есть документ(.doc), его нужно перевести в формат Latex. Я с этим редактором не дружу, но очень нужно. Пожалуйста помогите.

Повідомлення.doc

Повідомлення.doc

Ссылка на комментарий
Поделиться на другие сайты

Помогите, пожалуйста, доделать задачу и понять в чем проблема. Дана матрица размера m х n, нужно найти седловые точки матрицы, вывести их значения и индексы + найти верхнюю и нижнюю цену игры. Вроде работает, но неправильно, выдает числа, которых в матрице нет.
Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i – той строке и максимальным в j – том столбце.
Нижняя цена игры = maxi minj aij

Верхняя цена игры = minj maxi aij

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, Grids, Menus, ComCtrls, Buttons;type  TForm1 = class(TForm)    strngrd1: TStringGrid;    btn1: TButton;    Button1: TButton;    Memo2: TMemo;    Memo1: TMemo;    Edit1: TEdit;    Edit2: TEdit;    UpDown1: TUpDown;    UpDown2: TUpDown;    Button2: TButton;    Label1: TLabel;    Label2: TLabel;    procedure btn1Click(Sender: TObject);    procedure Button1Click(Sender: TObject);    procedure FormCreate(Sender: TObject);    procedure N1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;const  n=30;implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);var  a: array[0..n-1,0..n-1] of integer;  l_1: array[0..n-1] of integer; {переменная массива минимальных элементов в i-ой строке}  l_2: array[0..n-1] of integer; {переменная массива максимальных элементов в j-ом столбце}  ii,jj,i,j,l_i,l_j: integer;  min,max,m,k,l1,l2: integer;begin  Memo1.Clear;  Memo2.Clear;  for i:=0 to n-1 do  for j:=0 to n-1 do  a[i,j]:=StrToInt(strngrd1.Cells[i,j]);  for i:=0 to n-1 do  begin  m:=a[i,0];  for j:=1 to n-1 do  if a[i,j]<m then  m:=a[i,j];  l_1[i]:=m;  end;  l1:=l_1[0];  l_i:=0;  for i:=1 to n-1 do if l_1[i]>l1 then begin l1:=l_1[i]; l_i:=i; end;  Memo1.Lines.Add('l1 = '+floattostr(l1));  for j:=0 to n-1 do  begin  k:=a[0,j];  for i:=1 to n-1 do if a[i,j]>m then k:=a[i,j];  l_2[j]:=k;  end;  l2:=l_2[0];  l_j:=0;  for i:=1 to n-1 do if l_2[i]<l2 then begin l2:=l_2[i]; l_j:=j;   end;  Memo1.Lines.Add('l2 = '+floattostr(l2));  Memo2.Lines.add('Ответ:');  if l1=l2 then memo2.Lines.add('Седловые точки найдены:')  else memo2.Lines.add('Седловой точки нет');  for i:=0 to n-1 do  for j:=0 to n-1 do  begin  min:=a[i,0];  for jj:=1 to n-1 do if a[i,jj]<min then min:=a[i,jj];  max:=a[0,j];  for ii:=1 to n-1 do if a[ii,j]>max then max:=a[ii,j];  if (min=a[i,j]) and (max=a[i,j]) then memo2.lines.Add(floattostr(l1)+' = ['+floattostr(i+1)+','+floattostr(j+1)+']');  end;end;procedure TForm1.Button1Click(Sender: TObject);var z,zz:Integer;beginRandomize;For z:=0 to 100 do for zz:=0 to 100 dostrngrd1.Cells[z,zz]:=FloatToStr(Random(10)-4);end;procedure TForm1.FormCreate(Sender: TObject);begin  Memo1.Text:='';  Memo2.Text:='';end;procedure TForm1.N1Click(Sender: TObject);begin  Form1.Close;end;procedure TForm1.Button2Click(Sender: TObject);var g: Integer;begin  Memo1.Clear;  Memo2.Clear;  strngrd1.ColCount:=StrToInt(Edit2.Text);  strngrd1.RowCount:=StrToInt(Edit1.Text);  For g:=0 to strngrd1.ColCount-1 do  strngrd1.Cols[g].Clear;end;end.
Ссылка на комментарий
Поделиться на другие сайты

Получилось так: 

 

Лаба1.rar

 

Только у меня статичный массив 5х5

Лаба1.rar

Изменено пользователем Teddy_Bear
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...